$text = 'Вася Пупкин <a href="http://mail.ru">пьет</a> молоко и <a href="http://mail.ru">ест</a> селедку';
preg_match_all("/^\<a href=\"*\"\>*\<\/a\>/",$text,$matches);
не получается
$text = 'Вася Пупкин <a href="http://mail.ru">пьет</a> молоко и <a href="http://mail.ru">ест</a> селедку';
preg_match_all("/^\<a href=\"*\"\>*\<\/a\>/",$text,$matches);
/([<a])*([">])*([\</a>])/
([<a href="http://])*([">])*([\</a>])
/[<a href="http://]*[">]*[</a>]/в итоге выбирает пробел который перед тегом, пичем иногда куском захватывая слово, внутри href выбирает только буквы а, вопрос - почему? если я поставил звездочку? слова ссылки тоже не берет
/[<a]\s([href="http://]).+[">].+[</a>]/только теперь выбирает все что между первым а и последним закрытым а
<a [^<>]*href=[\'"]([^\'"]+)[\'"][^<>]*>.+?<\/a>
$text="бла бла бла <a href> link </a> бла бла ";
$parts = explode("<a", $text);
for($i=0; $i<count($parts); $i++) {
$link[$i]="<a".explode("</a>", $parts[$i])."</a>";
}