我在wordpress帖子中有以下内容
the_content()
<div class="directions">
<div class="left"> left </div>
<div class ="right"> right </div>
</div>
使用DOMXpath我只想提取和添加div类“ left”。我尝试过了
<?php libxml_use_internal_errors(true); ?>
<?php libxml_disable_entity_loader(true); ?>
<?php $html = new DOMDocument();?>
<?php $content = get_the_content();?>
<?php $html->loadHTML($content);?>
<?php $xpath = new DOMXpath($html); ?>
<?php $xpath->query('//div[contains(@class, "left")]'); ?>
<?php echo $xpath -> textContent; ?>
很不幸,我什么也得不到。有人看到我的错误了吗?
答案 0 :(得分:0)
您要将DOMXPath::query
的结果存储到变量中,该变量将为DOMNodeList
。
然后您可以像访问数组一样访问它(尽管有趣的是,手册中没有提到它):
$matches = $xpath->query('//div[contains(@class, "left")]');
echo $matches[0]->textContent;
(注意:理想情况下,您还希望检查查询是否至少返回一个结果。)
侧面说明:您无需在每一行上打开和关闭PHP标签:)