Re: Problem with Regexp
| From: | Yannick Mortier | Date: | Mon, 31 Oct 2005 22:40:04 +0000 |
| Subject: | Re: Problem with Regexp | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-224904@lists.php.net to get a copy of this message | ||
Richard Heyes schrieb:
Yannick Mortier wrote:([\d]+) instead of ([\d])+ Thanks a lot for your help! I looked at your reg exp and saw this. Yannick MortierHello, I have the string: <tr><td><img src="http://www.runescape.com/img/hiscores/attack.gif" valign="bottom" width=16 height=16 /></td><td> </td><td><a href="hiscoreuser.cgi?username=zezima&category=1" class=c>Attack</a></td><td align="right">4</td><td align="right">99</td><td align="right">53,156,556</td></tr> and I apply preg_match_all: preg_match_all("/(<tr><td><img src=\"http:\/\/www.runescape.com\/img\/hiscores\/attack.gif\" valign=\"bottom\" width=16 height=16 \/><\/td><td> <\/td><td><a href=\"hiscoreuser.cgi\?username=)([\w])+(&category=1\" class=c>Attack<\/a><\/td><td align=\"right\">)([1-9])+(<\/td><td align=\"right\">)([1-9])+(<\/td><td align=\"right\">)([1-9,])+(<\/td><\/tr>)/",$seite,$attack);...But I would expect to get [2] => ArrayTry something like: preg_match_all('#username=([^&]+).+<td align="right">\d+</td><td align="right">(\d+)</td><td align="right">([\d, ]+)</td>#i', $seite, $matches); print_r($matches); Not tested - might need tweaking. Now it works! I still use mine, but i put the + directly after the closing bracket:( [0] => zezima )[6] => Array( [0] => 99 )[8] => Array( [0] => 53,156,556 )Instead of the values above. Can you explain me how I can get those values?