2012-04-28 127 views
1

我试图检索服务器的游戏模式。 这是代码:简单的PHP DOM解析器 - 获取无标签的文本

<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(); 
} 

但脚本只是跳过“拉什”,并继续到下一个标记。我相信你们知道你比我做得更好。

有人能帮我一下吗?

+0

每当我找不到这个相同的解析器,我使用'preg_match'。用它来搜索''和'' – Norse 2012-04-28 00:44:08

回答

0

你需要让你的问题更清楚的队友......“我试图检索服务器的游戏模式”< - 这与你的问题无关例如。

您遇到的问题是,“火拼”不过是文字,它不是作为.bullet这将意味着拉什是一个标记,对.bullet兄弟的内容的兄弟姐妹,说

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

如果您提供的结构始终保持相同,并且您使用的是简单HTML DOM,但是您可以清除代码的外观(http://simplehtmldom.sourceforge.net/)标签第一:

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

然后就是用strip_tags()对整个paragrap h并获取文本?

相关问题