0

我从某个页面解析 html,以获取传出列表,我想将它们分成两部分 - 带有 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 回答