Buldozer
Новичок
разъясните регулярку
Есть задача проверить наличие некоторого выражения на указанной странице, причем это выражение обязательно должно быть внутри <html></html>, с чем для простого примера: <html><body>phpcenter.ru</body></html> указанный код вполне справляется, а вот если взять какую-нибудь страницу посложнее, например титульную phpclub.ru и найти на ней phpcenter.ru, то не выходит.
В чем здесь проблема?
Есть задача проверить наличие некоторого выражения на указанной странице, причем это выражение обязательно должно быть внутри <html></html>, с чем для простого примера: <html><body>phpcenter.ru</body></html> указанный код вполне справляется, а вот если взять какую-нибудь страницу посложнее, например титульную phpclub.ru и найти на ней phpcenter.ru, то не выходит.
PHP:
<?php
function html_parser($url, $link)
{
$c = curl_init($url);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_TIMEOUT, 3);
$page = @curl_exec($c);
$http_result = curl_getinfo($c, CURLINFO_HTTP_CODE);
curl_close($c);
if ($http_result == '200')
{
//обработаем(проверим наличие в html, в body, в noindex)
$page = strtolower($page);
//$page = '<html><body>phpcenter.ru</body></html>';
preg_match_all ("/<html.*>.*$link.*<\/html>/", $page, $matches);
if (count($matches["0"]) > 0) echo 'в html нашли';
}
}
$url = 'http://www.phpclub.ru/';
html_parser($url, 'phpcenter.ru');
?>