我想提取具有某些锚文本的字符串中的所有链接的网址。如何从字符串中提取具有某个关键字的链接锚文本
我看到一个以前发布在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