我想提取具有某些錨文本的字符串中的所有鏈接的網址。如何從字符串中提取具有某個關鍵字的鏈接錨文本
我看到一個以前發佈在JavaScript中做這個 - 任何人都可以幫我在PHP中做到這一點?
javascript regex to extract anchor text and URL from anchor tags
我想提取具有某些錨文本的字符串中的所有鏈接的網址。如何從字符串中提取具有某個關鍵字的鏈接錨文本
我看到一個以前發佈在JavaScript中做這個 - 任何人都可以幫我在PHP中做到這一點?
javascript regex to extract anchor text and URL from anchor tags
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
其實,我在尋找一個特定關鍵字的實例。 '基石' - 也許最簡單的方法是排序所有的URL,然後嘗試找到包含基石的部分作爲錨文本的一部分? – 2010-09-17 19:18:32
在這種情況下,模式變成'#] *>([^ < – AlexJF 2010-09-17 19:47:14