Помогите написать скрипт для скрытия/чистки реферера, т.е. есть статьи и в них есть ссылки, нужно сделать отдельную страницу редиректа (не знаю как объяснить). Скрипт: Код (Text): $contents = $text['text']; // текст из БД preg_match_all("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/", $contents, $matches); for($i=0; $i<count($matches); $i++){ if(isset($matches[0][$i])){echo "<a href='link.php?go=".$matches[0][$i]."'>".$matches[0][$i]."</a>";}} Но этот код просто находит ссылки и в верху статьи их заменяет на Код (Text): <a href='link.php?go=URL>что-то</a> , а нужно, чтоб прямо в тексте всё изменилось, как это реализовать? Думал через preg_replace, но не додумал... Далее код будет в link.php, но до этого ещё дойти нужно как-то О_о
Есть текст (к примеру): Код (Text): 11111111111111 http://site.ru/index.php 11111111111111111 Когда я ставлю код, который я предоставил, получается так: Код (Text): <a href="http://site.ru/index.php?go=http://site2.ru/"> http://site2.ru/ </a> 11111111111111 http://site.ru/ 11111111111111111 Нужно: Код (Text): 11111111111111 <a href="http://site.ru/index.php?go=http://site2.ru/"> http://site2.ru/ </a> 11111111111111111
Ммм? PHP: <?php $text = "11111111111111\r\n [url=http://site.ru/index.php]http://site.ru/index.php[/url] 11111111111111111"; $regex = '~((?:http://|www\.)([^\s]+))~si'; $text = preg_replace($regex, '<a href="link.php?go=$1">$1</a>',$text); echo $text; ?>
Ненене, не совсем то, $text = определённой статье, выбранной из БД человеком, в этой статье могу содержаться ссылки на другие ресурсы и конечно же могут быть длинными (http://www.site.ru/afisha/me.php?code=TRPLX&ss=2 и т.д.) и короткими (http://site.ru/) и в самой статье нужно изменить ссылки на другие ресурсы, т.к добавить ?go= Нашёл пример такого редиректа: http://www.nulled.ws/r.php?url=http%3A% ... .com%2Fedu вот такое же и мне нужно сделать, но сперва нужно сделать парсер ссылок правильный О_О
Код (Text): preg_match_all("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/", $contents, $matches) Вроде как парсер есть, как теперь изменить ссылки правильно?