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
精彩评论