Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

%C2%A0 в конце ссылок

Опубликовано:

Посетители заметили следующую неприятную проблему: в некоторых сообщениях после ссылки (включен автопарсинг) добавляются символы %C2%A0 ( ). В результате нарушается парсинг сообщений, а именно - ссылка не закрывается вообще.

 

В таблице с кэшем сообщение вида

 

http://www.yandex.ru/disk/bla-bla.html  - [b]текст сообщения[/b]

выглядит вот так:

<a href='http://www.yandex.ru/disk/bla-bla.html  -' class='bbc_url' title='Ссылка' rel='nofollow external'>http://www.yandex.ru...bla-bla.html

то есть ссылка не закрылась, а текст после ссылки пропал совсем.

 

В каких именно случаях это происходит, не совсем понятно - мне не удалось самому имитировать подобное поведение, только методом копирования чужих сообщений. На багтрекере IPS описан подобный случай http://community.inv...e-editor-r43523 , но он по-прежнему имеет статус неподтвержденного. У меня же этот глюк на версии 3.3.

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

Опубликовано:

Байты C2 A0 это неразрывный пробел, который не воспринимается в регулярных выражениях как пробельный символ если для шаблона не задан модификатор u - utf-8 (возможно также захват еще зависит от установленной локали). Происходит в случаях когда после ссылки есть неразрывный пробел. "На глаз" от обычного пробела его не отличить, но в отличие от простого байты другие. Встречается при копировании текста с сохранением форматирования как это происходит в визивиг редакторе из других источников.

Возможные решения проблемы - проверить какая локаль установлена для форума (в настройках языка, например ru_RU.utf-8) и есть ли это локаль на сервере. Или поправить шаблон регулярного выражения где происходит захват ссылок. Или же решить проблему на корню, заменив в парсере текста эти байты на обычные пробелы.

Опубликовано:
  • Автор

Интуитивно все это понятно. Но почему же ссылка совсем не закрывается? Ладно, между ".html" и "-" два неразрывных пробела , но почему ссылка не закрывается в конце сообщения? У меня она даже на подпись распространяется.

Изменено пользователем Alien2001

Опубликовано:

Не знаю, наверное какаято особенность обработки ссылок, которая ломается при наличие этих пробелов. Тут уже технические нюансы, для которых требуется анализ парсера чтобы сказать почему они не закрываются.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.