使用php DomeElement和值的开头获取特定输出?
以下是HTML代码:使用php DomeElement和值的开头获取特定输出?,php,html,dom,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> 试图通过查找起始“mailto”值导出
<table>
<tr>
<td>value1</td>
<td>value2</td>
<td><a href="mailto:example@mail.com">mailto:example@mail.com</a></td>
</tr>
</table>
试图通过查找起始“mailto”值导出具有href
属性的所有子a
元素,但未得到任何结果,因此,不确定我的代码有何问题
如何导出以
mailto
开头的href
属性的所有值 如果要从文件名/URL加载HTML,则需要使用DOMDocument::loadHTMLFile()
,而不是DOMDocument::loadHTML()
。后者需要一个HTML字符串,而不是文件名或URL。tr
没有href
属性td中的a
具有。$links=$dom->getElementsByTagName('td')这听起来已经错了td
s不是链接。尝试$links=$dom->getElementsByTagName('a')代码>谢谢@u_mulder,问题已编辑。现在:td
没有href
属性<代码>一个td
中的has。substr($linkatt,0,5)
将使用5个符号<代码>邮件收件人
有6个。
$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;
}
}