Reputation: 2850
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
Upvotes: 1
Views: 4046
Reputation: 886
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
Upvotes: 3
Reputation: 48897
If you're parsing HTML to extract href attribute values from anchor tags, use an HTML/DOM Parser (definitely don't use regex).
Upvotes: 3