function sgp($url,$varname,$value){
if(is_array($varname)){
foreach($varname as $i=>$n){
$v=(is_array($value))?(isset($value[$i])?$value[$i]:NULL):$value;
$url=sgp($url,$n,$v);
}
return $url;
}
preg_match('/^([^?]+)(\?.*?)?(#.*)?$/',$url,$matches);
$gp=(isset($matches[2]))?$matches[2]:'';
if(!$gp)return $url;
$pattern="/([?&])$varname=.*?(?=&|#|\z)/";
if(preg_match($pattern,$gp)){
$substitution=($value!=='')?"\${1}$varname=".preg_quote($value):'';
$newgp=preg_replace($pattern,$substitution,$gp);
$newgp=preg_replace('/^&/','?',$newgp);
}
else{
$s=($gp)?'&':'?';
$newgp=$gp.$s.$varname.'='.$value;
}
$anchor=(isset($matches[3]))?$matches[3]:'';
$newurl=$matches[1].$newgp.$anchor;
$newurl=rtrim($newurl,'&');
$newurl=str_replace('&&','&',$newurl);
$newurl=str_replace('?&','?',$newurl);
return $newurl;
}
Использование:
Замена 1 параметра
<a href="<?=sgp($url,'key',$value)?>">test</a>
Удаление 1 параметра
<a href="<?=sgp($url,'key','')?>">test</a>
Замена более 1 параметра
<a href="<?=sgp($url,array('key1','key2'),array($value1,$value2))?>">test</a>
Удаление более 1 параметра
<a href="<?=sgp($url,array('key1','key2'),NULL)?>">test</a>
http://webew.ru/articles/743.webew
http://webew.ru/articles/5510.webew
В примере задержка 200мс перед появлением блока
$('.cart_module').delay(200).fadeIn();
HTML:
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
<div id="map"></div>
Javascript:
ymaps.ready(init);
function init(){
var myMap=new ymaps.Map("map",{
center:[59.974504,30.550266],
zoom:11,
controls:['zoomControl']
}),
Placemark1=new ymaps.Placemark([60.002148,30.272623],{
balloonContent:'Балун 1',
hintContent:'Стандартный значок метки 1',
},{
preset:'islands#redDotIcon'
}),
Placemark2=new ymaps.Placemark([59.935935,30.363452],{
balloonContent:'Балун 2',
hintContent:'Стандартный значок метки 2',
},{
preset:'islands#redDotIcon'
});
myMap.geoObjects.add(Placemark1).add(Placemark2);
myMap.behaviors.disable('scrollZoom');
}
CSS:
#map{
height:390px;
}
[class*="ymaps-2"][class*="-ground-pane"]{
filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
-webkit-filter:grayscale(100%);
}
На основе: http://jsfiddle.net/9aj8j/76/
Например, для случайного значения от 1,08 до 1,15