-1

電話番号を検索する必要がある Web サイトが数百あります。PHP を使用して検索したいと考えています。また、Web ページを取得してそのページの HTML 全体を変数として設定する方法を理解できれば、すべての Web サイトを通過し、必要な文字列を検索するスクリプトを作成できます。

使用できるようにphpで何ができますか

echo $url

レンダリングされたページではなく、Web サイトの HTML コードが表示されますか?

curl で試したことはすべて、実行時にページをレンダリングしました。ありがとうございました!

4

4 に答える 4

3
htmlspecialchars($data);

ドキュメントから:

$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;

変数 ($newこの場合) を検索するには、正規表現を使用する必要があります。ただし、html をレンダリングする代わりにマークアップとして表示すると、Web サイトにコードが表示されますが、文字列を検索するためにこれを行う必要はありません。

curlorfile_get_contentsメソッドの後の文字列 (ソース) は問題ありません。

また、html の解析については、 PHP Simple HTML DOM パーサーが、場合によってはより優れたセレクターと多くのユーティリティを提供する信じられないほど優れていることがわかりました。

于 2013-06-11T17:58:17.397 に答える
1

htmlentities 関数htmlentities関数を使用して、html タグをテキストに変換できます。

echo htmlentities($page_content);
于 2013-06-11T17:59:08.263 に答える
0

PHP で file() 関数を使用して生の HTML を取得できます。彼らは最初の例でこれを示しています。

于 2013-06-11T17:57:49.153 に答える
0

このリンクにはかなり良い例があります:

/* gets the data from a URL */
function get_data($url) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

$returned_content = get_data('http://stackoverflow.com');

その後、regex on$returned_contentを使用して、探している文字列を見つけることができます。

于 2013-06-11T18:00:23.473 に答える