2012-03-06 48 views
0

curlを使用して、リモートWebページのソースコードにテキストが存在するかどうかを検出しようとしています。例えば、私は、この文字列はソースに存在するかどうかを確認しようとしている:文字列がWebページに存在するかどうか確認してください

<!-- BEGIN TEST CODE --> 

を、それがリモートのWebページ(たとえば、example.com)のHTMLソースコードに存在する場合、私は「はい」とエコーします。ソースに存在しない場合は、「いいえ」とエコーします。私はそれを実行すると

$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

二つの機能cURLstrpos()です。

<?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の代わりにtestを使用しました。 –

+0

5行目を付け加えました。それはエラーはありませんが、私のテストウェブサイトはいつもいいえ、ソースコードに入っています。 – Tabatha

0

$is_a_test = strpos($the_page_text, "<!-- BEGIN TEST CODE -->");を試しましたか?

PHPのstrpos()のドキュメント:あなたが必要http://www.php.net/manual/en/function.strpos.php

+0

URLを検索するにはどうすればよいですか? – Tabatha

+1

あなたはfile_get_contentsを試しましたか? http://us3.php.net/manual/en/function.file-get-contents.php – dldnh

関連する問題