gpt4 book ai didi

php - 在HTML代码中提取两个字符串

转载 作者:行者123 更新时间:2023-12-03 16:05:37 25 4
gpt4 key购买 nike

我有一个具有以下结构的HTML表:

<tr>
<td class='tablesortcolumn'>atest</td>
<td >Kunde</td>
<td ><a href="">email@example.com</a></td>
<td align="right"><a href="module/dns_reseller/user_edit.php?ns=3&uid=6952"><img src="images/iconedit.gif" border="0"/></a> <img src="images/pixel.gif" width="2" height="1" border="0"/> <a href="module/dns_reseller/user.php?delete=true&uid=6952" onclick="return confirm('Möchten Sie den Datensatz wirklich löschen?');"><img src="images/icontrash.gif" border="0"/></a></td>
</tr>


这些 tr块有数百个。

我想提取 atestemail@example.com

我尝试了以下方法:

$document = new DOMDocument();
$document->loadHTML($data);
$selector = new DOMXPath($document);
$elements = $selector->query("//*[contains(@class, 'tablesortcolumn')]");

foreach($elements as $element) {
$text = $element->nodeValue;
print($text);
print('<br>');
}


提取atest没问题,因为我可以使用 tablesortcolumn类获取元素。我如何获得电子邮件地址?

我不能简单地使用 //table/tr/td/a,因为网站上还有其他结构类似的元素。因此,我需要选择一个空的href标签来获取它。我已经尝试过 //table/tr/td/a[contains(@href, '')],但是它返回与 //table/tr/td/a相同的结果

有谁知道如何解决这个问题?

最佳答案

您可以尝试运行包含字符串@的xpath吗?这似乎不太可能用于其他任何用途。

所以这样的事情可能会起作用

//*[text()[contains(.,'@')]]

关于php - 在HTML代码中提取两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29630883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com