查找内联锚定标记并在PHP中修改它们

查找内联锚定标记并在PHP中修改它们,php,dom,simple-html-dom,Php,Dom,Simple Html Dom,我正在通过url解析网页,使其便于移动。我正在修改每个标记类,将它们转换为块(宽度:100%)按钮,以便更好地单击移动设备。问题是有些链接在文本中: <div>some random text <a> some other random text <a> and some more text </div> 一些随机文本一些其他随机文本和更多文本 是否有一种方法可以从其他链接中提取这些内联链接,并为它们提供任何其他类 我的想法是: -由n个单词包

我正在通过url解析网页,使其便于移动。我正在修改每个标记类,将它们转换为块(宽度:100%)按钮,以便更好地单击移动设备。问题是有些链接在文本中:

<div>some random text <a> some other random text <a> and some more text </div>
一些随机文本一些其他随机文本和更多文本
是否有一种方法可以从其他链接中提取这些内联链接,并为它们提供任何其他类

我的想法是:

-由n个单词包围的链接,是同一容器元素的子元素

某些链接可能被不应视为容器的强、跨度等标记包围

你们还有其他的想法吗

最好的,
Martti

您可以尝试使用wi XSLT。在这篇文章中,我认为你可以找到一些有用的东西:


希望这对您有帮助。

停止使用这个简单的html dom库,使用
DOMXPath
dom
。它们都是PHP核心的一部分。对于这个主题,很难说,我想没有100%安全的方法,因为即使是一个内联链接也可能位于句子的末尾,例如,等等。你需要好好利用它,找到一个适合你输入数据的折衷方案。为什么我应该避免简单的html dom?有速度差吗?我发现简单的html dom易于使用。到主题。。。是的,我知道链接可能位于容器的开始/结束处。但我想你可能有一些想法来尝试一下。例如,代码应该计算标记的一端或另一端是否有3个单词。simple_html_dom是用php编写的,而php核心是用C编写的。我预计性能会有显著差异,但从未对其进行过测试。更重要的是(
xpath
DOM
是定义良好的标准。请检查!我已经使用简单dom很多年了,并且已经习惯了。正如您所说,native更快,我正计划切换到native,因为我只有少量的查询需要替换。但是它对我的主要主题没有帮助:)XSLT有它的局限性。例如,计算同级文本节点中的单词。