2010-01-01 75 views
2

我想匹配一个模式,以便我可以从网站检索一个字符串。这是有问题的字符串:正则表达式来匹配html属性

<a title="Posts by ivek dhwWaVa" 
href="http://www.example.com/author/ivek/" 
rel="nofollow">ivek</a> 

我想匹配在一个标签之间的字符串“IVEK”我想为每一个职位做到这一点,涉及它的评论数。

首先,我应该使用上面的正则表达式,因此我可以将其用作其余示例。我没有什么至今:

$content = file_get_contents('http://www.example.com'); 
preg_match_all("", $content, $matches); 

又如何,因为有网上的许多其他作者也自己的一套意见,我将涉及的评论作者的名字。我是否使用div来破解它?由于每套信息都包裹在这个div上:

<div id="post-54" class="excerpt"> 

谢谢大家的帮助!

+1

在那里我们再次去:正则表达式+ html ...我感觉一个大的Schloooop即将到来。 – 2010-01-01 22:23:46

+0

通常,使用XML解析器*(如DOM扩展)*可以更好地使用HTML文件,而不是正则表达式。 – Atli 2010-01-01 22:25:33

+0

'正则表达式'+'html'=红旗,百日咳警报器,恳求调试器... – 2010-01-01 22:26:35

回答

5

请让我成为第一个向你介绍most famous answer on Stack Overflow

正则表达式不适合解析HTML。你真的需要一个HTML解析器,即使是看起来很简单的任务。

我推荐类似PHP Simple HTML DOM Parser的东西。

+1

Grr,我试图找到这个例子:P – brianreavis 2010-01-01 22:25:29

+0

哈哈,我总是只是谷歌“编码恐怖cthulu”,并从杰夫的帖子中获得链接。 – zombat 2010-01-01 22:26:53

+0

该死的!非常感谢你。可能应该先搜索regex + html! :) – Abs 2010-01-01 22:29:03