Перейти к контенту

www и собака


Рекомендуемые сообщения

Две полезные плюшки ;) Подходит для 1.1.1-.1.3.1 точно, а для 2.0 не знаю :D

 

Найти в sources/Topics.php

//--------------------------------------------------------------
// Siggie stuff
//--------------------------------------------------------------

$row['signature'] = "";

 

И перед этим вставить две следущие строчки:

 

          $row['post'] = preg_replace( "#(\040|>)(www\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\<]*)?)#is"     , "\\1<a href='http://\\2' target='_blank'>\\2</a>"  , $row['post'] );

          $row['post'] = preg_replace( "#(@)#i"     , "<img src='{$ibforums->vars['html_url']}/misc/at.gif' width='12' height='12' alt='Собака' border=0>"  , $row['post'] );

Первая формирует все строчки которые начинаются с www, в урлы

Вторая направлена против спамботов, она выискивает все упоминания собаки в постах (@) и заменяет их на картинку той же самой собаки

 

Картинка собаки прилагается. Не забудьте её положить сюда http://www.yourforum.com/html/misc/at.gif

post-16-1086115192.gif

Ссылка на комментарий
Поделиться на других сайтах

на 1.3.1 без проблем и уже юзается. :D только на IBR нету еще. Oska планируете?
Ссылка на комментарий
Поделиться на других сайтах

Опробовано на 1.2 Final ... Пашет ! Единственное отличие - нет папки misc, поэтому :

 

$row['post'] = preg_replace( "#(@)#i"     , "<img src='{$ibforums->vars['html_url']}/sys-img/at.gif' width='12' height='12' alt='Собака' border=0>"  , $row['post'] );

и

Картинка собаки прилагается. Не забудьте её положить сюда http://www.yourforum.com/html/sys-img/at.gif

 

Кстати, Meowth[OGD] раз уж зашёл разговор СОБАЧИЙ, может можно сразу отпарсить мыло, чтоб при нажатии выходило на написание нового письма в почтовом клиенте ???

 

ЗЫ Спасибо, нужные весчи !!!

Ссылка на комментарий
Поделиться на других сайтах

Кстати, Meowth[OGD] раз уж зашёл разговор СОБАЧИЙ, может можно сразу отпарсить мыло, чтоб при нажатии выходило на написание нового письма в почтовом клиенте ???

вообще то оно таким образом и парсится изначально.

Ссылка на комментарий
Поделиться на других сайтах

как вариант очень древняя наработка:

	if (!isset($urlSearchArray))
{
 $urlSearchArray = array(
	 "#(^|(?<=[^_a-z0-9-=\]\"'/]))((https?|ftp|gopher|news|telnet)://|www\.)((\[(?!/)|[^\s[()^$!`\"'|{}<>])+)(?!\[/url|\[/img)(?=[,.]*([\s)[]|$))#siU"
 );

 $urlReplaceArray = array(
	 "[URL=http://\\2\\4]\\2\\4[/URL]"
 );

 $emailSearchArray = array(
	 "/([ \n\r\t])([_a-z0-9-]+(\.[_a-z0-9-]+)*@[^\s]+(\.[a-z0-9-]+)*(\.[a-z]{2,4}))/si",
	 "/^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[^\s]+(\.[a-z0-9-]+)*(\.[a-z]{2,4}))/si"
 );

 $emailReplaceArray = array(
	 "\\1[EMAIL=\\2]\\2[/EMAIL]",
	 "[EMAIL=\\0]\\0[/EMAIL]"
 );
}

$text = preg_replace($urlSearchArray, $urlReplaceArray, $messagetext);

if (strpos($text, "@"))
{
 $text = preg_replace($emailSearchArray, $emailReplaceArray, $text);
}

Ссылка на комментарий
Поделиться на других сайтах

Блин и в правду :D Об этом не подумал... К вечеру лекарство напишу ;)
Ссылка на комментарий
Поделиться на других сайтах

  • 5 месяцев спустя...

Meowth[OGD]

Блин и в правду :D Об этом не подумал... К вечеру лекарство напишу ;)

Прошло почти пол года, а "К вечеру" так и не наступило! ;-(

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
  • 5 месяцев спустя...
К вечеру лекарство напишу

Где лекарство?

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
Да уж...
Ссылка на комментарий
Поделиться на других сайтах

А что делать если у пользователя включена опция преобразования катинок в ссылки (смайлы в текст и тд) ?
Ссылка на комментарий
Поделиться на других сайтах

Сегодня дал Мяуту ссылку на эту тему он ничего не ответил. :D
Ссылка на комментарий
Поделиться на других сайтах

Прошло уже более ОДНОГО года, а "к вечеру" не наступило.

Живут по каким-то другим календарям?

Обещают и не исполняют - не надо было обещать.

Ссылка на комментарий
Поделиться на других сайтах

Давайте сами напишем, надеюсь автор идеи не будет против :D
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Да автор врятли будет против, нужно смотреть post_parser.php, там обходить условием в конструкции тегов email...
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 2 месяца спустя...
Ну что никто не займётся модом?
Ссылка на комментарий
Поделиться на других сайтах

для 2.0.x в принципе и для 2.1.х должно работать но при быстром редактировании будет отображаться не замененный вариант, при перезагрузки страници все будет нормально

 

Найти в sources/topics.php(для 2.1.х sources/action_public/topics.php)

//--------------------------------------------------------------
// Siggie stuff
//--------------------------------------------------------------

$row['signature'] = "";

 

вставить перед

 

			$row['post'] = preg_replace( "#(\040|>)(www\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\<]*)?)#is"	 , "\\1<a href='http://\\2' target='_blank'>\\2</a>"  , $row['post'] );
					$row['post'] = preg_replace( "#<a href='mailto:([\.\w\-]+)\@([\.\w\-]+\.[\.\w\-]+)'>([\.\w\-]+)\@([\.\w\-]+\.[\.\w\-]+)</a>#i", "<a href='mailto:\\1[a]\\2'>\\1[a]\\2</a>", $row['post'] );
		$row['post'] = preg_replace( "#(@)#i"	 , "[a]"  , $row['post'] );

 

извините не тестил так что за работоспособность кода не отвечаю...

Ссылка на комментарий
Поделиться на других сайтах

А для 1.3?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.