За последние 24 часа нас посетили 19635 программистов и 1605 роботов. Сейчас ищут 873 программиста ...

BB коды. Я тут подумал.

Тема в разделе "Прочее", создана пользователем AccessDenied, 12 янв 2010.

  1. AccessDenied

    AccessDenied Активный пользователь

    С нами с:
    27 янв 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Беларусь
    Я тут подумал - что лучше обучаться не по каким-то примерам (неприятный случай с поповым), а самому придумывать что-нть и делать это. Пишу сейчас маленькую cms'ку, ввод/вывод мускул. И вместо добавления информации с хтмл кодом, хочу добавить бб код, да вот проблемка - не знаю как. И проблема состоит не в том, что недостаточно инфы в интернетах, а в том, что не знаю с чего начать. Советы типо - "начни с того руководства" , "вон там книжка - почитай" или "всех излечит исцелит, добрый гугл", посоветуйте откуда начать именно по этой теме, ибо хочется :)
     
  2. Alost

    Alost Активный пользователь

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Начинать надо с обдумывания что ты хочешь в итоге получить.Разбить задачу на составляющие.
    С ББ кодами довольно просто, нужно написать парсер текста, который изменить в исходнике ББ коды на html теги
     
  3. AccessDenied

    AccessDenied Активный пользователь

    С нами с:
    27 янв 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Беларусь
    Есть форма, рядом написаны хтмл теги, для тех, кто не знает хтмл, я просто хочу заменить эти теги на кнопки, вставляющие в форму бб код. Всего-то. Парсер - что-то для меня новенькое, пойду в гугл!
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    регулярные выражения учи
    preg_replace()
    например
    $text=preg_replace("#\[b\](.+?)\[\/b\]#is","<b>\\1</b>",$text);

    угадай что делает =)
     
  5. AccessDenied

    AccessDenied Активный пользователь

    С нами с:
    27 янв 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Беларусь
    Честно сказать, я смотрю на вот это вот, как баран на новые ворота.
    Частенько проглядывая такой код, с несколькими десятками строк, удивляюсь - как тут можно не запутаться?
     
  6. Alost

    Alost Активный пользователь

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    игнорируя регистр и считая что метасимвол .(точка) включает в себя еще и переносы строк(\r\n и \n)
    Заменяет пару тегов [ b ] и [ /b ] на <b> и </b>

    Как то так :)
     
  7. AccessDenied

    AccessDenied Активный пользователь

    С нами с:
    27 янв 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Беларусь
    PHP:
    1.  <? $text=preg_replace("#\[b\](.+?)\[\/b\]#is","<b>\\1</b>",$text); ?>
    а не длинновата ли строчка получится, если внести в нее 10+ тегов?

    Можно пояснить значения всех символов, в том числе и этой точки с плюсом и вопросом в скобках?
    И почему первый бб тег завершается бэкслешем, а во втором вообще фиг поймешь что?
     
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  9. Alost

    Alost Активный пользователь

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    обратные слешы "\" служат для экранирования.
    "[" и "/" и "]" являются спецсимволами.Если их не экранировать то они будут восприниматься как управляющие,а тут нужно чтоб они воспринимались именно как символы.

    Вспомни экранирование в строках, $str= '\'' задает строку из одного символа кавычки.
     
  10. Alost

    Alost Активный пользователь

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
  11. AccessDenied

    AccessDenied Активный пользователь

    С нами с:
    27 янв 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Беларусь
  12. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    честно говоря поэтому и
    А то все хотят что то сделать не зная нихера. Надо хотя бы понятия иметь...
     
  13. AccessDenied

    AccessDenied Активный пользователь

    С нами с:
    27 янв 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Беларусь
    Это я для кого написал? На данный момент мне неинтересна та информация, которая там в изобилии предоставляется. И понял уже все я.
     
  14. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?