Замена ссылок по регулярке

V
На сайте с 10.01.2012
Offline
85
632

Есть регулярное выражение, которое заменяет ссылки вида

preg_replace('~href=("|\')?(.*?)\1?(\s|>)~si', 'href="/go.php?url=$2" target="_blank">', $text);

а как сделать чтобы и сам первоисточный url еще и обрабатывался функцией

Вот пример обработки одной строки, а нужно заменить все - не соображу как с помощью регулярки сделать.

$url = '<a href="http://yandex.ru">Яша</a>'; // исходня строка
$new_url = '<a href="/go.php?url' . encode_url('http://yandex.ru') . '>Яша</a>'; // обработанная строка

Нужно то же что в примере, только произвести массовую замену

siv1987
На сайте с 02.04.2009
Offline
427
#1

preg_replace_callback

preg_replace_callback($regexp, function($m){return 'some value';}, $str);

87
На сайте с 08.04.2015
Offline
9
#2

Создайте предварительно массив для замены определенных ссылок.

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