|
Posted by Richard Heyes on 10/31/05 17:57
Yannick Mortier wrote:
> Hello,
>
> 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] => Array
> (
> [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?
Try 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.
--
Richard Heyes
http://www.phpguru.org
Navigation:
[Reply to this message]
|