Сегодня столкнулся с очередной проблемой: при добавлении ссылок порисходит их конвертирование в активные. Это очень хорошо. НО!
Не распознаются квадратные скобки и ещё ряд символов. Убедиться в этом можно по ссылке:
http://www.manyclips.ru/?q=node/38
Как исправить этот трабл???
Нужно чтобы в ссылки преобразовывались ВСЯ ссылка (включая знаки %~?&#@ и т.д.)
Комментарии
даже не знаю, попробовал ввести у себя ссылку все нормально отобразилось, а ты через редактор ставил ссылку или ручками?
тест
http://www.astudio.ru/video/2005/A-Studio_[2005]_(02_Uletayu).rmvb
Посмотрите /modules/filter/filter.module, функция function _filter_url()
бугага, интересно, гы ,а чо тогда у меня все правильно отобразилось
// Match absolute URLs.
$text = preg_replace_callback("`(|
|[ \n\r\t\(])((http://|https://|ftp://|mailto:|smb://|afp://|file://|gopher://|news://|ssl://|sslv2://|sslv3://|tls://|tcp://|udp://)([a-zA-Z0-9@:%_+*~#?&=.,/;-]*[a-zA-Z0-9@:%_+*~#&=/;-]))([.,?!]*?)(?=(|
|
|[ \n\r\t\)]))`i", '_filter_url_parse_full_links', $text);
ЭТО строчки из файла ИСХОДНОГО, который я заливал на сервак.
avaness, зачем же весь файл выкладывать в сообщение. А если у вас Drupal не заработает, вы что - все его исходники выложите?
Если нужно большой текст разместить, прикрепите его текстовым файлом к комментарию. Так удобнее, да и фильтр ввода здесь имеет обыкновение калечить код в сообщении.
По сути: похоже, вам надо разобраться с регулярными выражениями (ниже строки Match absolute URLs).
что конкретно изменить?
не могу сделать! помогите!!!
вот что я плохо понимаю - так это регулярные выражения...
Видимо, трабл в подчерке, т.е. в "_".. Да?
Тогда можно посоветовать методом тыка его подобавлять, например, сюда... - (.,?!*?) -> (.,?!*?_)...
Или я неправ? А, может, есть умельцы, которые переведут это всё выражение на человеческий язык?
scild, по-моему, трабл заключается в скобках (и квадратных, и круглых).
При их появлении в адресе ссылки половина ссылки не действует (точнее, действует только часть до скобок).
а пробовал их в скобки включать? Ну, добавить \[ и \]
Ой... откомпилировали Я имел в виду "\]\["
поставил в файле уже и скобки - всё расно не работает
гляньте - может чё подскажете...
// Match absolute URLs.
$text = preg_replace_callback("`(|
|[ \n\r\t\(])(()) ([])[]((http://|https://|ftp://|mailto:|smb://|afp://|file://|gopher://|news://|ssl://|sslv2://|sslv3://|tls://|tcp://|udp://)([a-zA-Z0-9@:%_+*~#?&=.,/(())[];-]*[a-zA-Z0-9@:%_+*~#&=/()[];-]\[\]))([.,?!]()[]*?)(?=(|
|
|[ \n\r\t\)]))`i", '_filter_url_parse_full_links', $text);