PHP regex for $_SERVER["QUERY_STRING"] -
i matching pairs in regex. $pairs[1] contain part before = , $pairs[2] contain part after = .
when gets &startrow should start skips rest , start making pair.
$query= "link=http://abcd.com&efgh&lmkn&startrow=20" preg_match_all('/(\w+)=([^&startrow]+)/', $query, $pairs); the above regex stops @ & not @ &startrow
expected output
$pairs[1][0] = link $pairs[2][0] = http://abcd.com&efgh&lmkn $pairs[1][1] =startrow $pairs[2][1] =20
using following regex:
(\w+)=((?:(?!&startrow).)+) you able catch both parts separately:
preg_match_all('~(\w+)=((?:(?!&startrow).)+)~', $str, $matches, preg_set_order); php output:
array ( [0] => array ( [0] => link=http://abcd.com&efgh&lmkn [1] => link [2] => http://abcd.com&efgh&lmkn ) [1] => array ( [0] => startrow=20 [1] => startrow [2] => 20 ) )
Comments
Post a Comment