我如何創建一個preg_match_all正則表達式模式爲PHP給我這個代碼?PHP preg_match_all html
<td class="class2"> </td>
<td class="class2" align="right"><span class="DarkText">I WANT THIS TEXT</span></td>
爲了讓我看看span文本里面的文字嗎? 謝謝!
我如何創建一個preg_match_all正則表達式模式爲PHP給我這個代碼?PHP preg_match_all html
<td class="class2"> </td>
<td class="class2" align="right"><span class="DarkText">I WANT THIS TEXT</span></td>
爲了讓我看看span文本里面的文字嗎? 謝謝!
您可以使用:
preg_match_all("!<span[^>]+>(.*?)</span>!", $str, $matches);
那麼你的文本將是第一個捕獲組內部(rubular可見)
有了這樣的方式,注意regex shouldn't be used to parse HTML。使用XML解析器會更好,除非它真的非常簡單。
+1回答並指向最佳解決方案(解析器)。並且包括與Bobince着名答案的鏈接。 – alex 2010-09-16 00:16:58
編寫正確解析HTML的正則表達式很困難。相反,使用這樣的HTML解析器:http://simplehtmldom.sourceforge.net/。它很容易使用,我在這裏推薦了幾次。
這是文本字符串中唯一的span類嗎? – NullUserException 2010-09-16 00:06:42
xpath更適合執行此任務。 – 2010-09-16 00:07:27
請不要使用正則表達式來解析HTML。這是通往悲傷和破碎的代碼的途徑。 – 2010-09-16 22:15:37