За последние 24 часа нас посетили 22039 программистов и 1116 роботов. Сейчас ищут 749 программистов ...

Парсер BBCODE - пишем правильно

Тема в разделе "Прочие вопросы по PHP", создана пользователем artoodetoo, 25 дек 2012.

  1. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    Nasgool, сделай html файл с примером использования, если не трудно.
     
  2. Nasgool

    Nasgool Новичок

    С нами с:
    28 фев 2015
    Сообщения:
    13
    Симпатии:
    0
  3. Nasgool

    Nasgool Новичок

    С нами с:
    28 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    пора заняться тем же на PHP для проверки на стороне сервера

    Добавлено спустя 1 минуту 27 секунд:
    Кстати для
    Код (Text):
    1.  нет необходимости указывать язык, prettify сам распознает большинство распространенных.
    2.  
    3. [size=2][color=green]Добавлено спустя 3 минуты 46 секунд:[/color][/size]
    4. ну и еще, в моем скрипте есть 2 рабочие функции Parse(string):string и ParseBB(string) - вторая возвращает вышеописанный объект, первая - обертка под вторую, использовать можно любую из них
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    CODE не по феншую. внутри него не должны работать другие коды! это принципиальный момент.
     
  5. Nasgool

    Nasgool Новичок

    С нами с:
    28 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Дык внутри него ничего и не работает. После вхождения code парсер понимает только /code в качестве окончания блока кода.
    За исключением одного момента. Если тебе необходимо в блок кода вписать /code, вместо него нужно написать \code
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    хммм... вроде получалось, что работает. надо погонять еще.

    Добавлено спустя 2 минуты 28 секунд:
    ага, поймал )))
    [​IMG]
     
  7. Nasgool

    Nasgool Новичок

    С нами с:
    28 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Не пойму откуда скрин твой? или ты что-то менял в коде?
    Там нумерация строк на каждой строке должна быть.
    Вот скрин из примера:
    [​IMG]
     
  8. Nasgool

    Nasgool Новичок

    С нами с:
    28 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Обнаружил еще ошибки, list написанный маленькими буквами не проходил проверку логики. Исправил.
    spoiler - пока не работает несколько спойлеров на странице. Домой с работы приду - буду думать.
     
  9. Nasgool

    Nasgool Новичок

    С нами с:
    28 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    Успел во время обеда все исправить.
    Вот новый пример. https://yadi.sk/d/T2ZGYdtvf58VG
    Об обнаруженных ошибках прошу писать тут.
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    проблема сохраняется:
    [​IMG]
     
  11. Nasgool

    Nasgool Новичок

    С нами с:
    28 фев 2015
    Сообщения:
    13
    Симпатии:
    0
    спс, ошибка была и у меня и у тебя, читай выше об оформлении кодов для моего парсера
    для корректного отображение символов тега [/ code] внутри блока кода необходимо заменить слеш на обратный слеш [\code]

    Добавлено спустя 2 минуты 35 секунд:
    [​IMG]

    Добавлено спустя 1 минуту 55 секунд:
    Парсер в твоем случае должен был ругаться на ошибку, но этого не делал.
    Я поправил.
    https://yadi.sk/d/T2ZGYdtvf58VG