Foren / National / Russian / как спрятать внешние ссылки ?

12NächsteLetzte

jcrush
#1 1. März 2009, 17:44
В седе парсер был файле functions.php, а сейчас как пустить все ссылки через go.php ? а еще лучше как их шифровать вообще аброй кодаброй? а то поисковики некоторые их видят
SEO блог: http://blog.stfw.ru/
Trustmaster
#2 1. März 2009, 21:09
Написать такую подмену в функции sed_custom_parse() в файле system/parser.php и в настройках парсинга включить собственный парсер. Либо написать плагин, который будет делать такую подмену, обрабатывая текст перед выводом.
May the Source be with you!
jcrush
#3 1. März 2009, 21:16
а не проще ли текущий парсер немного модифицировать? Где встроенный парсер лежит?

как bbcode прятать внешнии ссылки понятно а если она вставленна не через bb как ее править?
SEO блог: http://blog.stfw.ru/

Dieser Beitrag wurde von jcrush (am 2. März 2009, 14:05, vor 15 Jahre) bearbeitet
Trustmaster
#4 2. März 2009, 14:49
Именно поэтому проще написать свою простую функцию, обрабатывающую текст сообщения, нежели лезть и ковыряться в далеко не самых простых внутренностях встроенного парсера.
May the Source be with you!
Evil
#5 5. März 2009, 02:42
Я так понимаю плагин из седа не подойдет?

#jcrush поделись, если сделал.
jcrush
#6 5. März 2009, 07:35
Пока временное решение, не есть гуд ибо работает только с ббкодом

admin.php?m=bbcode&d=15
наъодим url пишем <a href="/go.php?url=$1">$2</a>

для открытия и закрытия тега. все.

П,С,а есть плагин какой то для этого??
SEO блог: http://blog.stfw.ru/
Evil
#7 5. März 2009, 11:33
Информация по SED, при том по моему вами же и написанная ))
jcrush
#8 5. März 2009, 12:55
а ну парсер ж в коте новый, не подойдет данный хак.
SEO блог: http://blog.stfw.ru/
Evil
#9 30. März 2009, 20:21
Может кто уже знает решение данной проблемы?

Dieser Beitrag wurde von Evil (am 30. März 2009, 20:21, vor 15 Jahre) bearbeitet
jcrush
#10 28. Juli 2009, 11:13
Что то типа такого:
http://stfw.ru/page.php?id=10824

более менее получилось спрятать ссылки. часть пустил через go.php, данный хак я делал для форума в постах
SEO блог: http://blog.stfw.ru/
Boss
#11 28. Juli 2009, 12:45
Вот мой вариант парсера для ссылок.
Размещается в parser.php. В настройках включается дополнительно к основному парсеру.

function sed_custom_parse($text, $parse_bbcodes = TRUE, $parse_smilies = TRUE, $parse_newlines = TRUE)
      {
	if($parse_bbcodes)
		{
            // Коды. Высокоприоритетная обработка!
            $text = preg_replace_callback('`\[code\](.+?)\[/code\]`mis', create_function('$input', 'return("<pre class=\"code\">".sed_bbcode_cdata($input[1])."</pre>");'), $text);
            $text = preg_replace_callback('`\[highlight=([\w\-]+)\](.*?)\[/highlight\]`mis', create_function('$input', 'return("<div class=\"highlight\"><pre class=\"".$input[1]."\">".sed_bbcode_cdata($input[2])."</pre></div>");'), $text);

            // Свои авто-ссылки.
            $text = preg_replace('`(^|\s)http://(www.pctuner.ru|pctuner.ru)([^\s"\'\[]+)`mis', '$1<a href="http://www.pctuner.ru$3">http://www.pctuner.ru$3</a>', $text);

            // Чужие авто-ссылки.
            $text = preg_replace('`(^|\s)http://([^\s"\'\[]+)`mis', '$1<a href="http://www.pctuner.ru/go.php?url=$2" target="_blank">http://$2</a>', $text);
            $text = preg_replace('`(^|\s)(https|ftp)://([^\s"\'\[]+)`mis', '$1<a href="http://www.pctuner.ru/go.php?url=$2://$3" target="_blank">$2://$3</a>', $text);

            // Свои бб-ссылки.
            $text = preg_replace('`\[url\]([^\s"\'\[]+)pctuner.ru([^\s"\'\[]+)\[/url\]`mis', '<a href="http://www.pctuner.ru$2">http://www.pctuner.ru$2</a>', $text);
            $text = preg_replace('`\[url\]pctuner.ru([^\s"\'\[]+)\[/url\]`mis', '<a href="http://www.pctuner.ru$1">http://www.pctuner.ru$1</a>', $text);
            $text = preg_replace('`\[url=([^\s"\'\[]+)pctuner.ru([^\s"\'\[]+)\](.+?)\[/url\]`mis', '<a href="http://www.pctuner.ru$2">$3</a>', $text);
            $text = preg_replace('`\[url=pctuner.ru([^\s"\'\[]+)\](.+?)\[/url\]`mis', '<a href="http://www.pctuner.ru$1">$2</a>', $text);

            // Чужие бб-ссылки.
            $text = preg_replace('`\[url\]http://([^\s"\'\[]+)\[/url\]`mis', '<a href="http://www.pctuner.ru/go.php?url=$1" target="_blank">http://$1</a>', $text);
            $text = preg_replace('`\[url\](https|ftp)://([^\s"\'\[]+)\[/url\]`mis', '<a href="http://www.pctuner.ru/go.php?url=$1://$2" target="_blank">$1://$2</a>', $text);
            $text = preg_replace('`\[url\]([^\s"\'\[]+)\[/url\]`mis', '<a href="http://www.pctuner.ru/go.php?url=$1" target="_blank">$1</a>', $text);
            $text = preg_replace('`\[url=http://([^\s"\'\[]+)\](.+?)\[/url\]`mis', '<a href="http://www.pctuner.ru/go.php?url=$1" target="_blank">$2</a>', $text);
            $text = preg_replace('`\[url=(https|ftp)://([^\s"\'\[]+)\](.+?)\[/url\]`mis', '<a href="http://www.pctuner.ru/go.php?url=$1://$2" target="_blank">$3</a>', $text);
            $text = preg_replace('`\[url=([^\s"\'\[]+)\](.+?)\[/url\]`mis', '<a href="http://www.pctuner.ru/go.php?url=$1" target="_blank">$2</a>', $text);
            }
      else
            {
            // Вырезка тегов.
            $text = preg_replace("'\[img.*?/img\]'si", "", $text);
            $text = preg_replace("'\[thumb.*?/thumb\]'si", "", $text);
            $text = preg_replace("'[[^]]*?.*?]'si", "", $text);
            }

	return $text;
      }
Позже хочу себе сделать кодирование ссылок... Давно уже собираюсь.[/][/][/][/][/][/][/][/][/][/][/][/][/][/][/]

Добавлено 3 Минуты спустя:

Что там за хрень еще вставилась после слов "Давно уже собираюсь."? Косяк похоже.
jcrush
#12 28. Juli 2009, 13:55
ага у меня тоже на сайте такая хрень
SEO блог: http://blog.stfw.ru/
Killer
#13 28. Juli 2009, 16:30
Boss, спасибо. :)
Лишь утратив всё до конца, мы обретаем свободу...
Alex300
#14 8. Februar 2010, 08:08
Boss, а как бы туда еще добавить возможность обрабатывать ссылки вида:

[url=/plug.php?e=comedit]Ссылка на редактирование поста[/url]
и
[url=page.php?al=happy_new_year_2010]Введите текст ссылки...[/url] 

т.е. внутренние ссылки, но без "http://". А то он их тоже прячет через go.php.


Я не оч. силен в регулярных выражениях...
Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Chin
#15 10. Februar 2010, 09:41
Если от ботов прячетесь - не пройдет номер. Они давно проходят и по apache-редиректам, и по JS редиректам.

12NächsteLetzte