我如何创建一个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