2010-09-16 60 views
0

我如何創建一個preg_match_all正則表達式模式爲PHP給我這個代碼?PHP preg_match_all html

<td class="class2">&nbsp;</td> 
<td class="class2" align="right"><span class="DarkText">I WANT THIS TEXT</span></td> 

爲了讓我看看span文本里面的文字嗎? 謝謝!

+0

這是文本字符串中唯一的span類嗎? – NullUserException 2010-09-16 00:06:42

+2

xpath更適合執行此任務。 – 2010-09-16 00:07:27

+1

請不要使用正則表達式來解析HTML。這是通往悲傷和破碎的代碼的途徑。 – 2010-09-16 22:15:37

回答

7

您可以使用:

preg_match_all("!<span[^>]+>(.*?)</span>!", $str, $matches); 

那麼你的文本將是第一個捕獲組內部(rubular可見)

有了這樣的方式,注意regex shouldn't be used to parse HTML。使用XML解析器會更好,除非它真的非常簡單。

+0

+1回答並指向最佳解決方案(解析器)。並且包括與Bobince着名答案的鏈接。 – alex 2010-09-16 00:16:58