可能重复:
RegEx match open tags except XHTML self-contained tags
我正在研究正则表达式,以帮助从由各种字符php和JavaScript程序生成的非常大的html文件中提取数据模式。我只需要匹配下面这两行的模式
<div id="slotqty" class="slotqty" title="<br>Start Date: 04/08/2011<br>End Date : 04/08/2011<br>">113.67</div></div></div>
<div id="slotcity" class="slotcity">RICE</div><div id="slotqty" class="slotqty" title="<br>"Start Date: 04/06/2011<br>End Date : 04/06/2011<br>">57</div></div></div>
来自一个非常加载的html文件。到目前为止的编码是
<?php
$url = "http//wwww.amamamamama.com/example";
$file = file_get_contents($url);
preg_match_all ('/[^<div id="slotqty" class="slotqty" title="<br>] + </div>{3,3}$/', $url, $output);
echo "<pre>";
print_r ($output);
echo "</pre>";
?>
任何想法如何更好地解决这个问题。在此先感谢您的帮助,
约翰
答案 0 :(得分:2)
虽然我不打算登上“正则表达式很糟糕”的火车(其他人可以告诉你,或者只是逛逛),我只是简单地提供一个替代方案,除非你必须使用正则表达式。
PHP Simple HTML Dom Parser是一种非常简单易用的刮刀,可以使用各种刮削方法。使用它有助于减轻使用正则表达式时可能出现的一些混乱和麻烦,如果您正在抓取的内容发生更改,您可以快速进行适当的更改,而无需重写整个正则表达式。 (更易于维护)