简单的 PHP dom 解析器 - 获取没有标记的文本


Simple PHP dom parser - Get text with no tag

>我正在尝试检索服务器的游戏模式。这是代码:

<p>
<strong>Grand Bazaar</strong>
<span class="bullet">•</span>
Rush •
<img src="src.png">
</p>

我正试图找到拉什。我尝试了这个脚本:

    foreach($html->find('p .bullet') as $e)
{
    $mode = $e->nextSibling ();
}

但是脚本只是跳过"Rush"并继续下一个标签。我相信你们比我更清楚自己在做什么。

谁能在这里帮我?

你需要让你的问题更清楚,伙计..."我正在尝试检索服务器的游戏模式" <- 例如,这与您的问题无关。

您遇到的问题是"Rush"只不过是文本,它不是.bullet的兄弟姐妹,因为这意味着Rush是.bullet的同级标签的内容,例如

<span class="bullet">•</span>
<span>Rush •</span>
<img src="src.png">

如果您呈现的结构始终相同,并且您使用的是代码外观(http://simplehtmldom.sourceforge.net/)的简单HTML DOM,那么您可以先清除标签的内容:

$strong = $html->find('strong'); // I think you can use prevSibling in your example
$strong->innerText = null;

然后在整个段落上strip_tags()并获取文本?