lopes_andre Posted November 16, 2008 Share Posted November 16, 2008 Hi, I have been searching for regular expressions documentation but after 2h I don't have a clue how to match this... <a href="announce.asp?REF=570637"> Ok, I need to match the number after REF= and before "> It is possible to define a patter to match this? Best Regards, Andre. Quote Link to comment Share on other sites More sharing options...
gevans Posted November 16, 2008 Share Posted November 16, 2008 Do you want to match just that number, or a possible six number comination? Also are you matching the whole thing (including html tag) or just the sent data. $pattern = "/^[0-9]{6}$/"; $data = $_GET['REF']; if(preg_match($pattern,$data)) echo "Match"; else echo "Not match"; This should work if you're getting the 6 figures number and want to match any combination of six figure number. Quote Link to comment Share on other sites More sharing options...
lopes_andre Posted November 16, 2008 Author Share Posted November 16, 2008 Hi, Thanks for your reply. I don't have explain well, sorry. I need to match the numbers between and add those number to an array. The number does not have 6 figure, could have 3, 4, 5, 6, 7 or more. This is possible? Best Regards, André. Quote Link to comment Share on other sites More sharing options...
gevans Posted November 16, 2008 Share Posted November 16, 2008 Ok, this should do what you want $pattern = "/^[0-9]+$/"; //$data = $_GET['REF']; if(preg_match($pattern,$data)){ echo "Match"; $your_array[] = $data; echo $your_array[0]; }else echo "Not match"; The pattern will match only numbers. If it is a number it gets added to an array Quote Link to comment Share on other sites More sharing options...
lopes_andre Posted November 16, 2008 Author Share Posted November 16, 2008 Hi, Thanks again for your reply. I have tested but is not matching anything with the regular expression. I have debuged the script, but I'am confused. Why I have 2 results for this pattern? Here is an image of the debuger: Best Regards. André. Quote Link to comment Share on other sites More sharing options...
.josh Posted November 16, 2008 Share Posted November 16, 2008 preg_match("/REF=(\d+)\"/",$string,$matches); echo $matches[1]; Quote Link to comment Share on other sites More sharing options...
lopes_andre Posted November 16, 2008 Author Share Posted November 16, 2008 Thanks a lot, it is working now. Best Regards. Quote Link to comment Share on other sites More sharing options...
lopes_andre Posted November 16, 2008 Author Share Posted November 16, 2008 One more question, This concatenation syntax is right? function('http://www.example.com/delete_a.asp?ID= . $matches[1]','','','off'); Regards. Quote Link to comment Share on other sites More sharing options...
.josh Posted November 16, 2008 Share Posted November 16, 2008 function('http://www.example.com/delete_a.asp?ID=' . $matches[1],'','','off'); Quote Link to comment Share on other sites More sharing options...
lopes_andre Posted November 16, 2008 Author Share Posted November 16, 2008 Thanks again. Best Regards. Quote Link to comment Share on other sites More sharing options...
ddrudik Posted November 16, 2008 Share Posted November 16, 2008 function('http://www.example.com/delete_a.asp?ID=' . $matches[1],'','','off'); Not that it is any different in result, another option would be: function("http://www.example.com/delete_a.asp?ID=$matches[1]",'','','off'); Quote Link to comment 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.