首页 > 解决方案 > 使用 php DOMElement 和值的开头获取特定输出?

问题描述

这是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

标签: phphtmldom

解决方案


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


推荐阅读