开发者

How to extract link anchor text with a certain keyword from a string

I want to extract the url of all links in a string with certain anchor text.

I saw a previously 开发者_如何学运维post on doing this in javascript - can anyone help me do this in PHP?

javascript regex to extract anchor text and URL from anchor tags


If you're parsing HTML to extract href attribute values from anchor tags, use an HTML/DOM Parser (definitely don't use regex).

PHP Simple HTML DOM Parser

PHP XML DOM


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
}

This is how I'd do it with regex. There may be more efficient ways but this should be the simplest one.

EDIT: Noticed that you wanted to match all URLs, therefore changed to preg_match_all

preg_match_all

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜