Ответ 1
Ошибка очень ясна, вы не включили трейлинг /
:
preg_match('/<div id="resultStats">About \(.*?)\ /',$v,$s);
Я, честно говоря, сомневаюсь, что ваши персонажи-побеги хороши. Может быть, вы имели в виду \)
?
Я установил небольшой script для проверки обратных ссылок. Тем не менее я продолжаю получать ошибку
Предупреждение: preg_match() [function.preg-match]: Конечный разделитель '/' не найден в строке 17.
<?php
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function google_backlink($uri)
{
$url = 'http://www.google.com/search?q=link:facebook.com&hl=en&filter=0';
$v = file_get_contents_curl($url);
preg_match('/<div id="resultStats">About \(.*?)\ ',$v,$s);
$s_number = explode(".", $s[1]);
$i = 0;
if ($s[1]!=0) {
return $s[1];
} else {
return ($r[1]) ? $r[1] : '0';
}
}
echo "Google backlink = ".google_backlink($url)."<br />";
?>
Что не так с
preg_match('/<div id="resultStats">About \(.*?)\ ',$v,$s);
Ошибка очень ясна, вы не включили трейлинг /
:
preg_match('/<div id="resultStats">About \(.*?)\ /',$v,$s);
Я, честно говоря, сомневаюсь, что ваши персонажи-побеги хороши. Может быть, вы имели в виду \)
?
У него нет закрытия /
preg_match('/ pattern /', $subject);
У вас есть начало (косая черта) /
, но не закрытие (косая черта) /
Он ищет шаблон, который вы определяете между двумя слэшами.
Попробуйте изменить
preg_match('/<div id="resultStats">About \(.*?)\ ',$v,$s);
Для
preg_match('/<div id="resultStats">About \(.*?)\ /',$v,$s);
/
является "разделителем", означающим, что он сообщает preg_match, где заканчивается шаблон регулярного выражения.