помогите составить регулярку для проверки корректности размещения ссылки на странице. чет уже всю голову сломал (
Что нужно:
1. отсутствие noindex и nofollow в теле <head></head>
2. ссылка размещается в теле <body></body>
3. ссылка не заключена в <noindex><noindex>
function check_back_link($url = NULL)
{
$back_link = "<a href=\"http:\/\/example.com\" target=\"_blank\">моя ссылка<\/a>";
$url = preg_match('/^(http|https):\/\//i', $url)? $url : 'http://' . $url;
$validate_page = @file_get_contents($url);
$check_code = "/<head>.*[^(noindex|nofollow)].*<\/head>.*";
$check_code .= "<body.*>.*[^(<noindex>)].*";
$check_code .= $back_link;
$check_code .= ".*[^(<\/noindex>)].*<\/body>/i";
return preg_match($check_code, $validate_page);
}
Как то так… хм..
Не хочу проходить текст несколько раз