使用“Simple HTML DOM”获取两个跨度之间的文本

发布于 2024-11-27 14:46:41 字数 283 浏览 0 评论 0原文

基本上,我需要获取两个跨度标签之间的文本,并且我尝试了很多不同的方法但没有解决方案。 我也在使用 Simple HTML DOM Parser (http://simplehtmldom.sourceforge.net/),所以我能做的有点受限。 这是基本设置:

<span class=1>text here</span> TEXT I NEED TO GET <span class=2>more text</span>

有帮助吗?

Basically, I need to get the text between two span tags, and I've tried a bunch of different methods with no solution.
I'm using Simple HTML DOM Parser (http://simplehtmldom.sourceforge.net/) too, so what I can do is a little restricted to.
Here is the basic setup:

<span class=1>text here</span> TEXT I NEED TO GET <span class=2>more text</span>

Any help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挽你眉间 2024-12-04 14:46:41

span 元素之间的文本应该是 DOMTextNode 并且是 span 元素的同级。如果 SimpleHTMLDom 遵循 DOM 规范 你应该能够得到它:

$text = $html->find('span[class=1]', 0)->next_sibling();

如果这不起作用,请考虑使用基于 libxml 的更合适的解析器,例如参见

The text between the span elements should be a DOMTextNode and sibling to the span elements. If SimpleHTMLDom follows DOM specs you should be able to get it with:

$text = $html->find('span[class=1]', 0)->next_sibling();

If that doesnt work, consider using a more proper parser that is based on libxml, e.g. see

孤独患者 2024-12-04 14:46:41

查找('文本',$索引)

这将为您提供文本块。

试试这个:

echo $html->find('text',1);

输出:

TEXT I NEED TO GET

DEMO

find('text', $index)

This will give you blocks of text.

Try this:

echo $html->find('text',1);

output:

TEXT I NEED TO GET

DEMO

冷情 2024-12-04 14:46:41

尝试 PHP Dom

$dom = new DomDocument;
$dom->loadHtml('
    <span class=1>text here</span> TEXT I NEED TO GET <span class=2>more text</span>
');

$xpath = new DomXpath($dom);
foreach ($xpath->query('//body/text()') as $textNode) {
    echo $textNode->nodeValue; // will be: ' TEXT I NEED TO GET '
}

Try PHP Dom:

$dom = new DomDocument;
$dom->loadHtml('
    <span class=1>text here</span> TEXT I NEED TO GET <span class=2>more text</span>
');

$xpath = new DomXpath($dom);
foreach ($xpath->query('//body/text()') as $textNode) {
    echo $textNode->nodeValue; // will be: ' TEXT I NEED TO GET '
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文