At 17:21 8-2-2003, you wrote:
Hi
I have to alter this code:
<?php
$fp = fopen ('http://www.whatever.ee/', 'r');

for ($src = ''; !feof ($fp); $src .= fgets ($fp, 1024));

fclose ($fp);

if (preg_match ('/\<font color=black\>([^<]*)\<\/font>/i', $src, $matches))
    echo    'Match: <b>'.$matches[1].'</b>';
else
    echo    'No match !';
?>

It extracts the data (words) from www.whatever.com between <font=black> and
</font>.
It works well if the source looks something like this:
<font=black>text</font> (it echos "text")
but i am having some serious problems when the source looks like
this<table><font=black><tr>text</tr></font></table>. It wont do anything if
it is supposed to echo html. but i need html!
Could somebody help me change the script so that it can extract html as
well?
If you can, mail me at [EMAIL PROTECTED] or just reply here....
Thank You!

anyway. this did what you asked for.

<?PHP
$src='<table><font color=black><tr>text</tr></font></table>.';
$pattern='/\<font color=black\>(.*)\<\/font>/i';

if (preg_match ($pattern, $src, $matches))
echo 'Match: <b>'.htmlspecialchars($matches[0]).'</b>';
else
echo 'No match !';

?>

note that i show the output with htmlspecialchars() so you can actually see the tag while testing
also note that i replaced your [^<]* with .*





--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to