Ищу функцию что выполняла бы подобную роль: replurl($text); На выходе давала тот-же текст, только все внешние ссылки заменялись на mojsite.ru/redirect.php?url=site.ru Пробовал написать сам, только в регулярке так и не разобрался. Спасибо заранее =) В инете искал - не было подходящего.
PHP: $text = '<a href=\'http://link.com\'>Link</a> <a href="http://anotherlink.com">Another Link</a>'; $r = preg_replace_callback('/\<\s?a\shref[\s="\']+([^\'"]+)["\']\>[^\<]+[^\>]+\>/', 'rep', $text); function rep($m){ list($l, $url) = $m; if($url == 'http://'.$_SERVER['HTTP_HOST']) return $l; return str_replace($url, "/redirect.php?url=$url", $l); } echo $r;