VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Собственно фича представляет собой скрипт, который вешается на хук url_to_bbcode и который ко всем публикуемым ссылкам автоматически присваивает заголовок.
Собственно сам скрипт, бери да пользуйся.
PHP Code:
if (!function_exists(convert_url_to_bbcode_callback_auto_title)) { function convert_url_to_bbcode_callback_auto_title($messagetext, $prepend) { // the auto parser - adds [url] tags around neccessary things $messagetext = str_replace('\"', '"', $messagetext); $prepend = str_replace('\"', '"', $prepend);
Однако в нем есть недостаток, а именно, если ссылаешься на сайт, который в кодировке cp1251, а форум в кодировке utf-8, то соответственно заголовок парсится крякозябрами.
Буду признателен, если кто подскажет как этот недостаток устранить. Пробовал сам устранить вписывая различные функции, такие как iconv и mb_convert_encoding, но у меня получается так, что заголовок становится нормальным, а набранный текст сообщения (если присутствует) соответственно постится в крякозабрах. Я немного в тупике, помогите пожалуйста!
получается так, что заголовок становится нормальным, а набранный текст сообщения (если присутствует) соответственно постится в крякозабрах
конвертировать нужно подстроку из прег_матч а не весь текст
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,712
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
1
и проверяй кодировку сайта, перед конвертом, раз уж парсится страница, можно выдернуть и теги кодировки
@UniversalUserIS
Специалист
Join Date: Jan 2013
Награды в конкурсах:
Posts: 446
Версия vB: 4.2.х
Reputation:
Professional 785
Репутация в разделе: 476
0
Quote:
Originally Posted by kerk
конвертировать нужно подстроку из прег_матч а не весь текст
Какую функцию лучше для всего использовать? Впрочем пробовал и iconv и mb_convert_encoding что-то не выходит, возможно неверно понял, что имелось ввиду под подстрокой прег_матча. Хочу домыслить сам, можешь болванку написать, как должно выглядеть?
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,712
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
0
функция без разницы собсно , но лучше mb_convert_encoding()
кодировка:
на локалке UTF-8
удаленный ресурс windows-1251
результат работы кода без перекодирования
с перекодированием в кодировку, используемую локально
@UniversalUserIS
Специалист
Join Date: Jan 2013
Награды в конкурсах:
Posts: 446
Версия vB: 4.2.х
Reputation:
Professional 785
Репутация в разделе: 476
0
kerk, код понятен с момента от print '<pre>'; и до print '<pre>'; - все что "до" путает меня в массивах между твоим и оригинальным кодом. Не могу соединить это все в один рабочий скрипт. Это для меня такой же вынос мозга как и с preg_match. Понимаю, что наглость, но поможешь с этим? Или кто поможет?
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,712
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
0
я брал за основу твой же код, просто немного названия переменных изменил
ну и добавил пару проверок/условий
у тебя все это в функциях
я вынес код отдельно
@UniversalUserIS
Специалист
Join Date: Jan 2013
Награды в конкурсах:
Posts: 446
Версия vB: 4.2.х
Reputation:
Professional 785
Репутация в разделе: 476
0
kerk, с массивами теперь ясно. А что означает print '</pre>'; ? Тем не менее скрипт у меня отказывается работать, хотя вроде вставляю эту часть куда нужно. Правда и не уверен, что лишнего не убрал. Вот это условие из оригинального кода не нужно же?
PHP Code:
if ($text[2] == 'www.' or $text[2] == 'WWW.') { $text[4] = $text[2] . $text[4]; $text[2] = 'http://'; }