VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Необходимо, чтобы все фразы, содержащие "TAG-НОМЕР" преобразовывались в линк (URL)MYSITE.RU/TAG-НОМЕР(URL).
Подскажите, пожалуйста, куда копать? Где преобразование http:// в (URL) ?
Ну несерьезно Мне что очень хочется найти - то место, где при вставке http:// ссылка окружается (URL)... Я бы рядом воткнул маахонькую замену для TAG-НОМЕР, похоже, что bbcode_class.php, но больно он здоровый, пока еще не разберусь никак.
olegon добавил 22.07.2011 в 23:40
В общем, долго ломал голову, ничего не придумал лучше, чем вмешаться в обработку смайликов:
В class_bbcode.php
находим
function parse_smilies($text, $do_html = false)
и в первых строках вставляем
попробовал, что-то не вышло :( т.е. добавил модуль в postbit_display_complete, подсунул код, аналогичный тому, что в bbcode - никакой реакции, т.е. перестали в ссылки преобразовываться.
olegon добавил 23.07.2011 в 12:56
еще смущает вот это http://www.vbulletin.org/forum/showthread.php?t=224651
Last edited by olegon : 07-23-2011 at 01:56 PM.
Reason: Добавлено сообщение
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,711
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
1
а что именно там смущает?
то, что чел пытается выполнить свой запрос на хуке postbit_display_complete и удивляется, что запрос будет выполняться столько раз, сколько постов на странице
таки да, потому что этот хук находится в файле class_postbit.php в функции construct_postbit(&$post), аргумент функции - массив $post в котором все данные этого поста
сама функция вызывается во многих файлах воблы (в т.ч. showthread.php - отображение темы), для создания поста и выполняется в цикле
я предложил использовать str_replace в упрощенном варианте, т.е. если искомый текст неизменный
и как альтернативу - использовать регулярку, если часть текста динамическая
Спасибо еще раз, но я как-то почесал затылок и решил оставить возможность юзерам отключать эту функцию галочкой "Отключить смайлы в сообщении", а так же в моем варианте не работает преобразование в code. Что касается преобразований в принципе, то, наверное, по тексту только выгоднее несколько раз, чем бабахнуть сразу по всей странице, но один раз. Они не настолько шустрые, эти регекспы :(
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,711
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
0
Quote:
Originally Posted by olegon
Они не настолько шустрые, эти регекспы
ну это понятно...
кстати, если в тексте поста будет несколько таких TAG-*** да еще и со смешанным содержимым, вместо только цифр, то нужно использовать preg_match_all
а это еще "тормознутей"
еще...
какое кол-во цифр в строке?
если какое то определенное, то можно более точно прогонять регуляркой текст
например в патерне вместо "+" использовать "от-до":
PHP Code:
$str_search = "#TAG-(\d{4,10})#";
не меньше 4 и не больше 10 цифр
и так далее...
===
а что вообще нужно было?
какой конечный результат всех этих действий предполагался?