0

一部のページからhtmlを解析して、発信のリストを取得するために、それらを2つに分割したいと思います.rel="nofollow" / rel="nofollow me" / rel="me nofollow" 要素とそれらの表現のないもの。

現時点では、以下を使用して解析されたコードを使用しています - PHP Simple HTML DOM Parser

$html = file_get_html("$url");

foreach($html->find('a') as $element) {
    echo $element->href; // THE LINK
}    

しかし、それを実装する方法がよくわかりません。何かアイデアはありますか?

4

2 に答える 2

1

次のようなものを使用してみてください:

$html = file_get_html("$url");

// Creating array for storing links
$arrayLinks = array(
    "nofollow" => array(),
    "others" => array()
);

foreach($html->find('a') as $element) {

    // Search for "nofollow" expression with no case-sensitive (i flag)
    if(preg_match('#nofollow#i', $element->rel)) {
        $arrayLinks["nofollow"][] = $element->href;
    }
    else {
        $arrayLinks["others"][] = $element->href;
    }
} 

// Display the array
echo "<pre>";
print_r($arrayLinks);
echo "</pre>";
于 2013-03-23T20:43:55.590 に答える
0

$element->relで正規表現を実行してください

于 2013-03-23T20:39:33.127 に答える