#<a.*href=["']{0,1}http://(.*?)["']{0,1}>#Ui[/quote]
но это хуйня, т.к. вытаскивает 1 ссылку в строке, остальные не трогает Оо
подкиньте идей или уже готовых решений, если кто делал
Форум → Программирование → PHP для идиотов → Регулярки для внешних ссылок
Регулярки для внешних ссылок
-
3 октября 2009 г. 8:36, спустя 9 часов 53 минуты 24 секунды
я ды подкинул да не помню точно ссылку на статью где я это описывал ….Спустя 140 сек.вот мое готовое решение, дашь кому нить - упию =))<?php
ob_start("encodeurls");
function encodeurls($content)
{
$regex = "#(<(a|img|embed) [^>]*?(?:href|src)=\\s*)[\"'](http://[^\"']+)[\"']([^>]*>)#";
return preg_replace_callback($regex, "encodeurls_callback", $content);
}
function encodeurls_callback($match)
{
if(strpos($match[0], "noreplace"))
{
return $match[0];
}
return $match[1].'"/go/'.$match[2]."/".base64_encode($match[3]).'"'.$match[4];
}
переписывает все исходящие ссылки на /get/(a|img)/base64urlСпустя 28 сек.+ можно отказаться от реврайта в ссылке, если вписать например class="noreplace"Сапожник без сапог -
3 октября 2009 г. 12:42, спустя 4 часа 6 минут 19 секунд
Пожалуйста, авторизуйтесь, чтобы написать комментарий!