![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Для таких случаев проще мскать и менять именно такие двойные комбинации: 2x открытые+ 2x закрытые .
А есть ли смысл менять именно квотирование? Может так и надо, типа это ответ на ответ с квотированием? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Arantir |
|
||||||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
Тогда добавьте третью регулярку:
и вот это
А для морального удовлетворения вынести подобные регулярки в функцию cleanup() и вызывать ее перед code_to_html() =) -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||||
|
|||||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
ksnk,
Так там не будет двойных, там в итоге внутри будет уже див, см. выше рекурсивность из внутри наружу будет идти. А менять двойные не выход, ведь текст может быть либо до либо после. По-поводу второго пункта, цитирование цитаты это как бы то, что мы добивались вчера, и это устраивает, но предполагается, что человек не будет составлять весь свой пост из банального цитирования, а тем более, что цитирующий будет цитировать пост состоящий тупо из цитирования. В довесок, эти все извращения делаются только для безымянного цитирования, в цитирование с указанием автора, я так свирепствовать не буду ) Добавлено через 2 минуты Arantir, А во что тогда превратится такое:
![]() Добавлено через 3 минуты и 47 секунд Я уже не плохо себе голову поломала над этими всеми вариантами, варианты, я продумала досконально, мне бы теперь регулярку подправить как надо, а не по новой передумывать как сделать, у меня почему-то детект дива с атрибутами и текстом не работает (, а именно вот этот момент в регулярке: /\[quote\]([^\[quote\]]|^[.*]^[^<div.*>.*<\/div>]*?$|.*?)\[\/quote\]/igm, Добавлено через 5 минут и 17 секунд Русским языком примерно так: Ничего не делать, если попадается внутри [цитата], так же ничего не делать если попадается внутри див с атрибутами но без текста по бокам, преобразовывать, только если внутри любой другой текст. -------------------- Скажи миру - НЯ! |
|||
|
||||
AVA12 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 4.5.2008 Репутация: 2 Всего: 4 |
Угу. "Now they have two problems".
Пытаться распарсить произвольные вложенные теги с помощью единственного регвыра - задача изначально обреченная. Обязательно найдется пример, способный сломать самый хитрозакрученный регвыр. И как быть, если юзер ввел некорректный текст (например, закрыл теги не в том порядке)? Так что только синтаксический анализатор, как подсказывает ksnk. |
|||
|
||||
animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Пытаюсь представить вариант, в голове, но не получается понять, о чём вы, можно пример? -------------------- Скажи миру - НЯ! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
пример неправильного форматирования?
в этом случае (при квотировании потерян b и i) При этом регулярки сделают болдом весь квотированный текст, что, наверное, правильно, но и текст после него, что видимо, неправильно. При "обычном" (в моем понимании ![]() Если парсить регулярками, и откорректировать и диагностировать ошибки затруднительно. Нужно писать дополнительные регулярки, как с пустым квотированием ... Это сообщение отредактировал(а) ksnk - 14.7.2013, 23:05 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
animegirl |
|
||||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Прочитала - не поверила, запихнула в своё форму, прогнала - как я и предполагала, регулярка их просто игнорирует, так как нету закрывающих тэгов Добавлено через 2 минуты и 33 секунды Вы переоцениваете мою прогибчивость перед юзером. У меня политика такова: Неправильно использовал, увидишь косячную прорисовку - задумаешься, отредактируешь, будет выглядеть нормально. Я же всё-таки не няньку юзеру программирую. Добавлено через 6 минут и 47 секунд Из выше написанного прямо вытекает: Моя задача продумать прорисовку, косяки юзер пускай исправляет сам. Задумалась. Ок, да отслеживание с дивами, это я походу всё-таки в няньку ударилась, но тут скорее возможность именно того, что юзер заквотит другого юзера, который скосячил. Как-то так. Да и вообще, дискуссия ушла от темы слишком далеко, как мне конкретную вещь отловить регуляркой? А именно:
ну, чтоб так же работало как с
-------------------- Скажи миру - НЯ! |
||||
|
|||||
animegirl |
|
||||||||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Моя эпопея не закончена, оставила лазейки для XSS, надо бы заделать.
Было
сделала
Текст такого вида:
Удачно отсеивается, а вот
делает своё гадкое дело. ( Не могу понять, почему не работает отрицание. Можете подправить? -------------------- Скажи миру - НЯ! |
||||||||
|
|||||||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 14 Всего: 55 |
По русски: ИЛИ [что угодно, кроме кавычек], ИЛИ [все что угодно] Запихивая туда текст с кавычками, конечно же, побеждает вторая половинка выражения. Вероятно, имелось ввиду
Это сообщение отредактировал(а) Arantir - 26.7.2013, 23:22 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |