如何最好地使用正则表达式筛选HTML文件

时间:2011-04-10 08:00:33

标签: php

  

可能重复:
  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>";

?>

任何想法如何更好地解决这个问题。在此先感谢您的帮助,

约翰

1 个答案:

答案 0 :(得分:2)

虽然我不打算登上“正则表达式很糟糕”的火车(其他人可以告诉你,或者只是逛逛),我只是简单地提供一个替代方案,除非你必须使用正则表达式。

PHP Simple HTML Dom Parser是一种非常简单易用的刮刀,可以使用各种刮削方法。使用它有助于减轻使用正则表达式时可能出现的一些混乱和麻烦,如果您正在抓取的内容发生更改,您可以快速进行适当的更改,而无需重写整个正则表达式。 (更易于维护)