2012-04-28 56 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並獲取文本?

相關問題