我有一些HTML,我在某个点提取了一个片段(内联图像),但我想展示一下这个图像的上下文。
我使用PHP,我知道SimfOnand WordPress都提供了一些功能来处理当你在一些HTML中间截取文本时发生的事情(它关闭所有打开的标签),但是在另一个方向上没有处理代码片段。
因此,在以下情况下:
'Snippet of text and a <a href="#moo">link right her'
我可以使用上述功能进行修复,但是:
'nk right here</a> and then more text after the link.'
我考虑过这样一种可能性,即即使是标记结束片段也可能是错误的方式,我应该使用Xpath来解析HTML。然而,我找不到任何使用xpath创建这样的代码片段的例子或提及。
更新:
所以我现在的想法是:
-
向上移动解析树,直到找到包含所有内容的标记(在我的例子中,div class=post)。在这个div之前的最后一个节点是起点(很可能是一个p标记)。
-
从这里,获取上一个兄弟(应该再次是p标记)。
-
下降到此节点并获取最后一个子节点,将文本内容保存为临时字符串。继续回顾这些孩子,直到我们得到足够的片段。
这仍然不理想,因为我不确定我需要退多远才能获得文本内容。
有人知道这个想法在哪里得到了实施吗?