Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 07.01.2016, 03:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Яростный Меч
У меня тоже решена, правда, на скорую руку примитивным способом, но тут можно допилить работу со стеком, и сделать по нормальному, не меняя общий подход. Не получится только игнорировать открывающий тег, для которого нет закрывашки, т.к. нет заглядывания вперед.
Нужно описать правила, без них не получится, это непарные теги, например IMG, это вложения для таблиц и списков, если таковые теги разрешены, и т.п.
Ответить с цитированием
  #52 (permalink)  
Старый 07.01.2016, 04:06
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

laimas,
Однотеговых BB-кодов мало <br> <img> [you] (часто есть - имя юзера)
Они парсятся первыми, замечание справедливое, но я описал, что выходная функция HTML тегов должна быть в итоге привязана к объекту выходных функций по тегам, ибо часто теги преобразуются в многотеговые конструкции HTML
Опять же и атрибуты меняют итоговый код HTML

Последний раз редактировалось Deff, 07.01.2016 в 04:09.
Ответить с цитированием
  #53 (permalink)  
Старый 07.01.2016, 04:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Deff
Однотеговых BB-кодов мало <br> <img> [you] (часто есть - имя юзера)
Ну так они есть Использование принципа работы стека, это старая и удобная идея для таковых разборов, и без правил не получится, ну если только разрешено использование простейших html-тегов.
Ответить с цитированием
  #54 (permalink)  
Старый 07.01.2016, 04:26
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

laimas,
Вообще тема интересная, рыл тут четыре дня, вот лучший пост был этот от devote (Были пару интересных импортных постов, но там код для анализа ошибок на страницу
Думаю в принципе, задача поиска без ошибок без движения челноком по строке (ищем закрывашку и идём от нёё вверх к открывашке) решается весьма трудоёмко. Пока реальных кодов с учётом всех ошибок мизер..

Последний раз редактировалось Deff, 07.01.2016 в 04:31.
Ответить с цитированием
  #55 (permalink)  
Старый 07.01.2016, 04:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Да, были темы на форуме по использованию принципа стека, правда не в контексте ВВ, но суть та же.

Сообщение от Deff
Думаю в принципе, задача поиска без ошибок без движения челноком по строке
Ну как сказать, ведь и браузеру нужно переварить строку содержащую html-код, и он тоже поступит так же, но и обязательно по правилам. При этом есть "любезые" браузеры закрывающие тег, если допущена ошибка, а есть и не делающие такой медвежей услуги. Например, под FF видно, что-то не то, а причины не понять, а оплеванный ослик в своем отладчике сразу показал ошибку, ибо он не закрыл тег за нерадивым исполнителем. )

Если подумать, то думаю можно использовать стек и как источник "места" ошибок, делать откат и удалять некорректное.
Ответить с цитированием
  #56 (permalink)  
Старый 07.01.2016, 04:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

laimas,
Ну в итоге, совместно с куском от dеvote мой скрипт парсит быстее - проверил на мегабайте BB-кодов (Правдо мало вставлял лишних квадратных скобок, спецом ошибок в BB-кодах 20% (если интересно завтра выложу тест
Ответить с цитированием
  #57 (permalink)  
Старый 07.01.2016, 04:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Выкладывайте, правда ВВ код можно обработать и на сервере, и для этого есть готовое на Cи. Я не сторонник взваливать все на клиента. )
Ответить с цитированием
  #58 (permalink)  
Старый 07.01.2016, 04:48
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

laimas,
Тут идея скрытого текста небольших сообщений обмена между "маффами", поскольку после кодирования(при отправке) и скрытия сообщения уже не прочесть(ессенно и серв не парсит кодированное) (а общение через личку - сильно много телодвижений, а тут видит конкретный чел) Обычно играют в чате - но уменя все чаты сторонние, и там тож личка - долгая песня, и не видно всех сообщений, а в форуме сразу вся страница и скрытое-невидимое остальным, меж общим кругом общения

Последний раз редактировалось Deff, 07.01.2016 в 04:53.
Ответить с цитированием
  #59 (permalink)  
Старый 07.01.2016, 05:10
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Вопрос: вот такая строка во что должна превращаться?
1[b]2[u]3[/b]4[/u]5


в идеале, как мне кажется, "1<b>2<u>3</u></b><u>4</u>5"

по крайней мере на этом форуме именно так работает
Ответить с цитированием
  #60 (permalink)  
Старый 07.01.2016, 05:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Яростный Меч
Вопрос: вот такая строка во что должна превращаться?
12345
Здесь ошибка вложения, и по хорошему нужно игнорировать такое, а не догадываться чего хотят и исправлять.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг даты Allan Stark Общие вопросы Javascript 4 30.01.2014 18:57
Парсинг времени Falcon Общие вопросы Javascript 2 20.09.2010 17:23
custom Парсинг HTML нужен Increazon Общие вопросы Javascript 8 15.09.2010 13:23
Ищу скрипт для работы с bbcode mTzen Общие вопросы Javascript 3 13.09.2010 07:17
bbcode, iframe и javascript Dark[Ol(U23)leneri] Я не знаю javascript 0 10.06.2009 19:52