使用php DOMElement获取特定的输出和值的开头?

时间:2018-07-23 08:40:20

标签: php html dom

这是HTML代码:

<table>
  <tr>
    <td>value1</td>
    <td>value2</td>
    <td><a href="mailto:example@mail.com">mailto:example@mail.com</a></td>
  </tr>
</table>

然后是php:

$html = 'http://www.example.com'; // target path
$dom = new DOMDocument;

@$dom->loadHTML($html);

$links = $dom->getElementsByTagName('a');
foreach ($links as $link){

    $linkatt = $link->getAttribute('href');
    $linkval = substr($linkatt, 0, 5 );

    if($linkval == "mailto"){
        echo $link->nodeValue;
    }
}

试图通过查找起始的“ mailto”值来导出具有a属性的所有子href元素,但没有结果,因此,不确定我的代码有什么问题...

如何完成此工作,从href开始导出mailto属性的所有值...?

1 个答案:

答案 0 :(得分:0)

如果要从文件名/ URL加载HTML,则需要使用DOMDocument::loadHTMLFile(),而不是DOMDOcument::loadHTML()。后者需要一个HTML字符串,而不是文件名或URL。