php - regular expression parse url parameter -
i'm having trouble retrieving url parameter string using regular expressions:
an example string be
some text , http://google.com/?something=this&tag=yahoo.com , more text
, , able find yahoo.com
this.
the caveat need ensure string begins http://google.com
, , not search &tag=(.*)
preg_match("/google\.com\/.*&tag=(.*) $/", $subject, $matches)
i'm hoping matches google.com
followed anything, followed &tag=
followed space. goal parse out of tag=
values google.com
urls.
is there better way accomplish this?
update:
so have new regex: /google\.com\/.*(tag=.*)/
i'm not sure how end on space after url
get friendly parse_url()
function!
$pieces = parse_url('some text http://google.com/?something=this&tag=yahoo.com , whatever'); $query = explode('&', $pieces['query']); parse_str($pieces['query'], $get); array_walk($get, function(&$item){ if (!$sp = strpos($item, ' ')) return; $item = substr($item, 0, $sp); }); var_dump($get); // woo!
edit: johnathan parse_str()
function.
Comments
Post a Comment