Парсинг ссылок, содержащих русские буквы

Автор Sjoker, 18 мая 2012, 07:58:17

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sjoker

При вставке в текст ссылок например с википедии, при автоматическом формирование url - ссылка обрезается и становится неправильной.
Пример http://ru.wikipedia.org/wiki/Сигел,_Дон
вставляется как
[url]http://ru.wikipedia.org/wiki/[\url]Сигел,_Дон
Разобраться в каком файлы прописаны правила парсинга url - не получилось :(
Подскажи пожалуйста, как исправить данную ситуацию.
Форум 2.0.2

GeorG

У вас WYSIWYG редактор или мод?

Правила в разных файлах, например тут есть часть - Themes/default/scripts/editor.js
Или тут - Sources/Subs.php
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sjoker

WYSIWYG редактор - не установлен.
Стандартная форма быстрого ответа (как на этом форуме)

GeorG

Цитата: Sjoker от 18 мая 2012, 09:16:29WYSIWYG редактор - не установлен.
Его не надо устанавливать, т.к., он есть в комплекте с форумом. Раз автоматическое форматирование есть, значит он включен.

В админке посмотрите:
Админка-> Форум-> Сообщения и темы-> Настройки сообщений
Поставьте там галочку на "Запретить редактор WYSIWYG". Но тогда надо будет ставить отдельные моды, для более удобного использования url и  img.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sjoker

Цитата: GeorG от 18 мая 2012, 11:30:52Его не надо устанавливать, т.к., он есть в комплекте с форумом. Раз автоматическое форматирование есть, значит он включен.
Он выключен. Галка на "Запретить редактор WYSIWYG" - стоит.

Возможно, вы имели в виду
"Автоматически вставлять ссылки URL"
из
Админка-> Форум-> Сообщения и темы->  BB-теги
да, такая галка тоже стоит.  Хотелось бы и ее оставить и чтобы русские буквы в состав ссылки попадали автоматически.

maestrosite.ru

В файле Subs.php попробуйте строку
'~(?<=[\s>\.(;\'"]|^)((?:http|https)://[\w\-_%@:|]+(?:\.[\w\-_%]+)*(?::\d+)?(?:/[\w\-_\~%\.@!,\?&;=#(){}+:\'\\\\]*)*[/\w\-_\~%@\?;=#}\\\\])~i',
заменить на
'~(?<=[\s>\.(;\'"]|^)((?:http|https)://[\w\-_%@:|]+(?:\.[\w\-_%]+)*(?::\d+)?(?:[^\s<]+))~i',

в этом случае ссылкой будет строка от "http" до первого пробела
Если задаются вопросы по вашей проблеме, значит это нужно вам!
---
Обновления форума, разрешение конфликтов, адаптация модов, исправление ошибок - ваши предложения о сотрудничестве направляйте по адресу smf@maestrosite.ru

Sjoker

Цитата: maestrosite.ru от 18 мая 2012, 14:37:29
в этом случае ссылкой будет строка от "http" до первого пробела

Спасибо за идею!

Sferg

В SMF v2.0.8 в файле ../Sources/Subs.php найти строки:

'~(?<=[\s>\.(;\'"]|^)((?:http|https)://[\w\-_%[at]:|]+(?:\.[\w\-_%]+)*(?::\d+)?(?:/[\w\-_\~%\.[at]!,\?&;=#(){}+:\'\\\\]*)*[/\w\-_\~%[at]\?;=#}\\\\])~i',
'~(?<=[\s>\.(;\'"]|^)((?:ftp|ftps)://[\w\-_%[at]:|]+(?:\.[\w\-_%]+)*(?::\d+)?(?:/[\w\-_\~%\.[at],\?&;=#(){}+:\'\\\\]*)*[/\w\-_\~%[at]\?;=#}\\\\])~i',

и заменить их на следующие:

'~(?<=[\s>\.(;\'"]|^)((?:http|https)://[\w\-_%[at]:|]+(?:\.[\w\-_%]+)*(?::\d+)?(?:[^\s<]+))~i',
'~(?<=[\s>\.(;\'"]|^)((?:ftp|ftps)://[\w\-_%[at]:|]+(?:\.[\w\-_%]+)*(?::\d+)?(?:[^\s<]+))~i',