我要寻找此功能:PHP的DOMDocument/XPath的:获取HTML文本和环绕标签
鉴于这是HTML页:
<body>
<h1>Hello,
<b>world!</b>
</h1>
</body>
我想只包含一个数组DISTINCT文本元素 (无重复)和包围文本元素标签的数组:
结果上述“HTML”将是一个阵列,其看起来像这样:
array =>
"Hello," surrounded by => "h1" and "body"
"world!" surrounded by => "b", "h1" and "body"
我alreday做到这一点:
$res=$xpath->query("//body//*/text()");
使我有不同的文本内容,但省略了HTML标签。
当我只是这样做:
$res=$xpath->query("//body//*");
我得到重复的文字,每一个标签星座:“世界”例如为:会出现3次, 一次为“身体”,一次为“h1”,一次为“b”,但我似乎无法获得文本实际重复的信息。只是检查重复的文本是 不够充分,因为重复的文本有时只是以前的文本的子串,或者网站 可能包含真正的重复文本,然后将丢弃这是错误的。
我该如何解决这个问题?
非常感谢!
托马斯
我认为你需要为这个XQuery的。无论如何,在HTML上使用XML技术并不好。该html可能不是格式良好的,因此,你会得到解析错误。 –
@AurelioDeRosa DOM可以解析破损的HTML – Gordon
您还没有接受答案。你能否澄清你在回答中寻找什么,以及为什么给出的答案不能令你满意。 – Gordon