Регулярка для извлечения анкора

Unlock
На сайте с 01.08.2004
Offline
786
863

Люди, подскажите пожалуйста, как правильно должно выглядить вот такое:

echo preg_replace("<a[^>]+>(.*?)</a>", "$1",  $line2["field"]).  "\n";

Нужно преобразовывать ссылку так, чтобы только анкор оставался. Что-то не пашет такой вариант.

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
Montoya
На сайте с 30.09.2006
Offline
139
#1
$1

переменная может начинаться с цифры?

SF
На сайте с 11.10.2005
Offline
137
#2

а если просто удалить html тэги

echo strip_tags($string);

Инструкция: Как Правильно Делать Сайты: Домен, Хостинг, Установка CMS (http://www.3sd.ru/kak-delat-site/index.php).
Dweep
На сайте с 11.12.2006
Offline
207
#3

<?
$html = file_get_contents("el.txt");
preg_match_all('!<a([^>]*)>([^>]*)</a>!is', $html, $res, PREG_SET_ORDER);
foreach ($res as $st) {
echo $st[2]."<br>\n";
}
?>

или


<?
echo preg_replace('!<a([^>]+)>(.*?)</a>!Usi', "$2", $line2["field"]). "\n";
?>
mfl
На сайте с 16.10.2006
Offline
134
mfl
#4

Unlock

/ru/forum/197980

последний пост

"<a[^>]+>(.*?)</a>"

а где ограничители?

надо "~<a[^>]+>(.*?)</a>~"

переменная может начинаться с цифры?

это не переменная, а ссылка на выражение в скобках, все правильно

Unlock
На сайте с 01.08.2004
Offline
786
#5

Montoya, не очень понял ваш вопрос :(

Unlock добавил 24.03.2008 в 10:21

Вопрос решен. Все спасибо за помощь! :)

Montoya
На сайте с 30.09.2006
Offline
139
#6

в вашем коде переменная называется $1, а название переменной, помоему, может начинаться с буквы латинского алфавита или знака подчеркивания, может содержать цифру, но не может с нее начинаться

Unlock
На сайте с 01.08.2004
Offline
786
#7

Dweep, меню глючит или вы пост отредактировали? :) Первый вариант работал, а второй что, более корректный? Вот такой вариант сначала по-другому выглядил:

echo preg_replace('!<a([^>]+)>(.*?)</a>!Usi', "$2",  $line2["field"]).  "\n";
Dweep
На сайте с 11.12.2006
Offline
207
#8
Unlock:
Dweep, меню глючит или вы пост отредактировали? :) Первый вариант работал, а второй что, более корректный? Вот такой вариант сначала по-другому выглядил:
echo preg_replace('!<a([^>]+)>(.*?)</a>!Usi', "$2",  $line2["field"]).  "\n";

Да, немного отредактировал пост.

Второй вариант это ответ на вопрос в топике, а первый это способ получения всех анкоров, которые есть на станице.

a.fatman
На сайте с 15.01.2006
Offline
127
#9

Montoya, RTFM.

Это не переменная.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий