尝试输出最终的DOM结果

时间:2018-06-20 18:38:41

标签: php dom

我搜索了整个互联网,发现是获取带有属性的标签的值。但是我有一个标签来提取内容,标签没有属性。标签为cite

这是我的标签:

<div>
    <cite>My name is Jimmy</cite>
    <cite>My name is Paul</cite>
    <cite>I am Sarah</cite>
</div>

这是我的DOM调用:

$dom = new domDocument; 

/*** load the html into the object ***/ 
@$dom->loadHTML($html);

/*** discard white space ***/ 
$dom->preserveWhiteSpace = false; 

/*** the table by its tag name ***/ 
$tables = $dom->getElementsByTagName('cite'); 

/*** loop over the table rows ***/ 
foreach ($tables as $row) {
    /*** get each column by tag name ***/ 
    $cols = $row->getElementsByTagName('cite'); 

    /*** echo the values ***/ 
    echo $cols->textContent.'<br />'; 
}

我收到此错误:

  

注意:未定义的属性:DOMNodeList::$textContent

我想得到的是这样的:

  

我叫吉米
  我叫保罗
  我是莎拉

拜托,我需要帮助。 预先感谢!

2 个答案:

答案 0 :(得分:0)

http://php.net/manual/en/domdocument.getelementsbytagname.php

$html = "<div>
<cite>My name is Jimmy</cite>
<cite>My name is Paul</cite>
<cite>I am Sarah</cite>
</div>";

$dom = new domDocument; 
$dom->loadHTML($html);
$cities = $dom->getElementsByTagName('cite');
foreach ($cities as $city) {
    echo $city->nodeValue, PHP_EOL;
}

答案 1 :(得分:0)

您当前正在尝试在每个标签引用中获取标签引用。只需删除循环中的第二个getElementsByTagName

foreach ($tables as $row) {
    echo $row->textContent.'<br />'; 
}