PHP HTML DOM从标签中提取文本,而不在嵌套标签中包含文本


PHP HTML DOM extracting text from a tag without including text in nested tags

我有以下格式的html

<html>
    <body>
        <div>
            Hello
            <span>world1
            </span> 
            <span>world2
            </span> 
            <span>world3
            </span> 
        </div>
        <div>
            Hello
            <span>world1
            </span> 
            <span>world2
            </span> 
            <span>world3
            </span> 
        </div>
    </body>
</html>

我需要从div中提取数据,而不包括span内的文本。。并将其存储在一个变量中,并在另一个变量的每个div的第三个span中提取文本。在第一个变量中,我需要Hello。在第二个变量中,我需要world3。如何做到这一点。每个div的nodeValue属性返回的文本包括跨度内的文本。如何避免

迭代div的childNodes,并从所有子节点的nodeValue构建一个字符串,这些子节点是textNodes(它们的nodeType3

我想你正在寻找这样的东西。小提琴

document.getElementsByTagName("div")[0].childNodes[0].textContent;
document.getElementsByTagName("div")[0].childNodes[5].textContent;