使用 DOM PHP 解析子内容


Using DOM PHP Parse child contents

<h2>
<strong>
<a href="http://www.linkedin.com/pub/rom-agustin/0/111/947" title="Rom Agustin">
  <span class="given-name">Rom</span>
  <span class="family-name">Agustin</span>
</a>
</strong>
</h2>

所以我需要解析两个 span 类并将它们分别存储在一个变量中。

span.given-name = $given_name

span.family-name = $family_name

现在我的代码是:

foreach($vcard as $items):
    $names = $items->getElementsByTagName('h2');
    $name = $names->item(0)->nodeValue;
    echo $name; //Rom Agustin
endforeach;

如何正确地区分这两者? 或者我怎样才能只针对班级?我已经阅读了 php.net 的DOM,但没有GetElementbyClass。试过爆炸,很乱。

使用 http://simplehtmldom.sourceforge.net,这让它变得轻而易举,http://simplehtmldom.sourceforge.net/manual.htm#section_create 解释如何从普通字符串工作。

$htmltext = "...your snippet...";
$html = str_get_html($htmltext);
foreach($html->find("span") as $span) {
  // use $span here!
}