Ganners Posted October 24, 2011 Share Posted October 24, 2011 I am having trouble with a regular expression, the string is: http://example.com/example-page?&profession[]=Nurses&skill[]=Renal/Dialysis How my regular expression should work is a preg_replace which can grab either of these. At the moment I can grab both using: (&)(profession)(\[\])(=)(.+)(&) where 'profession' is a variable passed to the string in PHPm and could also be 'skill' etc. But this means my string has to end in a &! So what I need is something to say if the end & isn't there, it is the end of the string and replace what it has matched otherwise. So I though stuff like: (&)(profession)(\[\])(=)(.+)(&*) - *meaning 0 or more (&)(profession)(\[\])(=)(.+)(&|\z) - Match & or end of string might work, but they don't . I can work around by checking for the end & and sticking one on before the regex but that's cheating! Thanks for any help! Mark Link to comment https://forums.phpfreaks.com/topic/249732-regex-matching-query-string-elements/ Share on other sites More sharing options...
xyph Posted October 24, 2011 Share Posted October 24, 2011 Use a combination of parse_url and parse_str Link to comment https://forums.phpfreaks.com/topic/249732-regex-matching-query-string-elements/#findComment-1281866 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.