2010-09-17 54 views

回答

2
preg_match_all('#<a\s+href\s*=\s*"([^"]+)"[^>]*>([^<]+)</a>#i', $subject, $matches, PREG_SET_ORDER); 

foreach ($matches as $match) { 
    echo $match[0]; // <a ... href="url" ...>text</a> 
    echo $match[1]; // url 
    echo $match[2]; // text 
} 

這是我會怎麼用正則表達式做。可能有更有效的方法,但這應該是最簡單的方法。

編輯:注意到,你想匹配所有的URL,因此改爲preg_match_all

preg_match_all

+0

其實,我在尋找一個特定關鍵字的實例。 '基石' - 也許最簡單的方法是排序所有的URL,然後嘗試找到包含基石的部分作爲錨文本的一部分? – 2010-09-17 19:18:32

+0

在這種情況下,模式變成'#] *>([^ < – AlexJF 2010-09-17 19:47:14

相關問題