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?
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?
If you're parsing HTML to extract href attribute values from anchor tags, use an HTML/DOM Parser (definitely don't use regex).
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