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 Quote 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 Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.