2010-01-01 71 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