2012-03-06 3 views
0

Я пытаюсь использовать завиток, чтобы определить, существует ли фрагмент текста в исходном коде удаленной веб-страницы. Например, я стараюсь, чтобы увидеть, если эта строка существует в источнике:Проверьте, существует ли строка на веб-странице

<!-- BEGIN TEST CODE --> 

Если он существует в исходном HTML код удаленного веб-страницу (скажем, example.com) Я хочу повторить «да». Если он не существует в источнике, я хочу, чтобы он эхо «нет».

Это то, что я пытался до сих пор:

$ch = curl_init("http://www.example.com"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$text = curl_exec($ch); 

$test = strpos($text, "<!-- BEGIN TEST CODE -->"); 
if ($test==false) 
{ 
    echo "yes"; 
}else{ 
    echo "no"; 
} 

Когда я бегу, он всегда выдает «да». Что не так в моем коде, и как я должен делать это правильно?

+0

Можете ли вы опубликовать код, который у вас есть до сих пор, чтобы мы могли порекомендовать, как заставить его делать то, что вы хотите? – imm

+0

Что вы пробовали и какие конкретные проблемы у вас есть? Вы посмотрели документацию PHP cURL (php.net/curl)? У вас возникли проблемы с получением исходного кода, его поиском или обоими? – Corbin

+0

То, что я пробовал, не будет возникать, если оно есть в исходном коде или нет. Я продолжаю получать пустые результаты. Мне удалось сохранить то, что у меня было. Я попытаюсь воссоздать то, что у меня было до сих пор – Tabatha

ответ

6

две функции, которые вам нужны cURL и strpos().

<?php 
$ch = curl_init("http://www.example.com"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$text = curl_exec($ch); 
$test = strpos($text, "<!-- BEGIN TEST CODE -->"); 
if ($test==false) 
{ 
    echo "no"; 
} 
else 
{ 
    echo "yes"; 
} 
?> 
+0

У меня появляется ошибка 500, которая пытается найти причину этого. – Tabatha

+0

Извините, использовали тест вместо $ test. –

+0

5-я строка я добавил; у него нет ошибок, но на моем тестовом сайте я всегда получаю нет, и он находится в исходном коде. – Tabatha

Смежные вопросы