如何在 PHP 中使用 XPATH 从同一个 类 中仅抓取一个 HTML 内容?
How to grab only one HTML content from same classes using XPATH in PHP?
我想使用 PHP.
获取来自简单 XML 的 HTML 字符串的内容
所以我有一个 XML 文件,其中我已经从描述标签中获得了 HTML 字符串。这个 HTML-string 有一些我不需要的 div。我只想从我知道的路径中获取明确的内容。
我正在阅读不同的类似问题,但无法使用 XPATH 找到合适的解决方案,并尝试了不同的方法但没有取得预期的成功。
所以整个 HTML-string 如下:
<div class="field field-name-field-image field-type-image field-label-hidden">
<div class="field-items">
<div class="field-item even">
<a href="/content/menschen"></a>
</div>
</div>
</div>
<div class="field field-name-body field-type-text-with-summary field-label-hidden">
<div class="field-items">
<div class="field-item even">
<p>**GRAB JUST THIS TEXT**</p>
</div>
</div>
</div>
<div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-above">
<div class="field-label">Tags: </div>
<div class="field-items">
<div class="field-item even">
<a href="/tags/louise">Louise</a>
</div>
<div class="field-item odd">
<a href="/tags/gray">Gray</a>
</div>
<div class="field-item even">
<a href="/taxonomy/term/3016">Buch</a>
</div>
<div class="field-item odd">
<a href="/tags/rezension">Rezension</a>
</div>
<div class="field-item even">
<a href="/tags/richtig">Richtig</a>
</div>
</div>
</div>
那么当有相同的 类 同名时,你将如何解决这个问题?
提前致谢。
我猜你可以使用:
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
print $xpath->query('//div[contains(@class,"field-item even")]/p')[0]->textContent;
# **GRAB JUST THIS TEXT**
我想使用 PHP.
获取来自简单 XML 的 HTML 字符串的内容所以我有一个 XML 文件,其中我已经从描述标签中获得了 HTML 字符串。这个 HTML-string 有一些我不需要的 div。我只想从我知道的路径中获取明确的内容。
我正在阅读不同的类似问题,但无法使用 XPATH 找到合适的解决方案,并尝试了不同的方法但没有取得预期的成功。
所以整个 HTML-string 如下:
<div class="field field-name-field-image field-type-image field-label-hidden">
<div class="field-items">
<div class="field-item even">
<a href="/content/menschen"></a>
</div>
</div>
</div>
<div class="field field-name-body field-type-text-with-summary field-label-hidden">
<div class="field-items">
<div class="field-item even">
<p>**GRAB JUST THIS TEXT**</p>
</div>
</div>
</div>
<div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-above">
<div class="field-label">Tags: </div>
<div class="field-items">
<div class="field-item even">
<a href="/tags/louise">Louise</a>
</div>
<div class="field-item odd">
<a href="/tags/gray">Gray</a>
</div>
<div class="field-item even">
<a href="/taxonomy/term/3016">Buch</a>
</div>
<div class="field-item odd">
<a href="/tags/rezension">Rezension</a>
</div>
<div class="field-item even">
<a href="/tags/richtig">Richtig</a>
</div>
</div>
</div>
那么当有相同的 类 同名时,你将如何解决这个问题?
提前致谢。
我猜你可以使用:
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
print $xpath->query('//div[contains(@class,"field-item even")]/p')[0]->textContent;
# **GRAB JUST THIS TEXT**