0

現在のコードは次のとおりです。

include 'simple_html_dom.php';
    // Create DOM from URL or file
    $html = file_get_html('http://www.AnyLinkAlsoCan.com');


    // Find all links 
    foreach($html->find('a') as $element) 

           echo $element->href . '<br>';

次のようなタグをクロールして検索します。

<a href="http://news.example.com/node">

そして、ウェブサイトで見つかったすべてのリンクを出力します。

http://news.example.com.my/node/321072
http://news.example.com.my/taxonomy/term/2
http://news.example.com.my/node/321060?tid=2

例の 3 番目の URL に示されているように、のみを含む URL を検索したいと考えてい?tid=ます。

http://news.example.com.my/node/321060?tid=2

交換echo $element->href="*?tidしますが、エラーが返されます。誰かがこれで私を助けることができますか?

4

2 に答える 2

1

preg_match を使用するか、取得したすべての URL に?tidが含まれているかどうかを確認できます。

<?php
include 'simple_html_dom.php';
// Create DOM from URL or file
$html = file_get_html('http://www.AnyLinkAlsoCan.com');


// Find all links 
foreach($html->find('a') as $element) {
       $search = '?tid';
       if(strpos($element->href,$search)) {
           echo $element->href . '<br>';
       }
}
?>
于 2013-09-04T13:52:08.020 に答える