Xpath仅获取文本节点,而不获取元素的其他节点 - php

我有以下结构:

<div class="xGh">
    <div class="xg1">
        <div>I need that text<br><br>
            <span>That no</span><br>
            <span>Nope</span>
        </div>
    </div>
</div>

我尝试:

<?php
$xg1 = $xpath->query('//div[@class="xg1"]/*[1]');

for($i = 0; $i < $xg1 ->length; $i++)
{    echo "xg1  :".$xg1->item($i)->nodeValue."<br/>";
}
?>

也将所有文本与其他文本一起返回的问题,例如:

xg1 : I need that textThat noNope

我需要:

xg1 : I need that text

对不起我的英语不好

参考方案

您需要做的就是标准化第一个子代(text())的div子节点的所有空格。

这应该做

$xg1 = $xpath->query('//div[@class="xg1"]/*[1]/text()[normalize-space()]');

那应该在DOMText中给您一个DOMNodeList节点。

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP-复选框组 - php

我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…

php:将分钟取整到最近的四分之一小时,然后执行更多操作 - php

最初的问题是这样的:取分钟数->转换为四分之一小时-> 1个四分之一小时为1个单位->输出单位我今天整天都在整理页面,几分钟前我的大脑就停止工作了,我只是不知道如何输出单位数量。我知道在此网站上发布问题会有所帮助。因此,用户输入的分钟数(不是小时和分钟,而是数分钟),站点需要输出单位数量。单位是一个刻钟。分钟总是四舍五入到最近的四分之一小时…

当使用jquery的id做某事时,id可以来自任何一种标记吗? - php

我是JQuery的新手,我正尝试使用PHP,HTML和JQuery编写代码。我想用具有ID的标签替换HTML中的所有<?php echo $var; ?>。例如,我想使用<div id="name"></div>之类的东西,然后使用$("#name")将其显示在该div字段中。我的问…

PHP中奇怪的sprintf行为 - php

我试图做sprintf("<%s>", "Sat");,但是什么也没出现。当您删除小于符号时,它将再次开始工作。任何人都经历过这种行为以及是否会发生这种情况?因为我认为这是一个错误。您甚至可以在这里使用printf .....获得相同的结果。http://writecodeonline.com/php/ 参…