За последние 24 часа нас посетили 17858 программистов и 1286 роботов. Сейчас ищут 1436 программистов ...

Из BB-кодов в HTML и обратно (HTML->BB)

Тема в разделе "Регулярные выражения", создана пользователем enshtein, 16 мар 2007.

  1. enshtein

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

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    Честно говоря не шарю в регулярных - однако нашел в Интернете решение своих проблем, а именно преобразования bb-кодов в html теги, примеры:

    PHP:
    1.  
    2. // обработка тега [b]
    3. $search[] = "#\[b\](.*?)\[/b\]#si";
    4. $replace[] = '<b>$1</b>';
    5.  
    6. // обработка тега [i]
    7. $search[] = "#\[i\](.*?)\[/i\]#si";
    8. $replace[] = '<i>$1</i>';
    9.  
    10. // обработка тега [u]
    11. $search[] = "#\[u\](.*?)\[/u\]#si";
    12. $replace[] = '<u>$1</u>';
    13.  
    14. // обработка тега [code]
    15. $search[] = "#\[code\](.*?)\[/code\]#si";
    16. $replace[] = '<code>$1</code>';
    17.  
    18. // обработка тега [img]
    19. $search[] = "#\[img\](.*?)\[/img\]#si";
    20. $replace[] = '<div class="images-post"><a href="$1"><img src="$1"></a></div>';
    21.  
    22. // обработка тега [url]
    23. $search[] = "#\[url=([a-z]+://)(.*?)\](.*?)\[/url\]#si";
    24. $replace[] = '<a href="$1$2">$3</a>';
    25.  
    26. $body = preg_replace($search, $replace, $body);
    27.  


    теперь передо мной встала задача обратного преобразования HTML-тегов в bb-коды! Помоги построить регулярки для этого, учитывая синтаксис вышеприведенных конструкций! Заранее благодарен! Также буду особо признателен за ссылки на какие-либо парсеры, классы позволяющие преобразовывать из bb в html и обратно из html и bb без лишних напрягов и знания регулярок!
     
  2. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    это обращение к кому-то лично?
     
  3. enshtein

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

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    ссори, конечно ко всем кто может :) просто ошибочка :)
     
  4. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    enshtein
    Бери готовые, у тебя в каждой строчке XSS дыра (если кто захочет то взломает твой сайт с первой попытки)
     
  5. enshtein

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

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    готовые - это что ты имеешь ввиду?
     
  6. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Вырежи функцию из phpBB например, или из любого другого OpenSource движка, глянь на PEAR та тоже есть что-то подобное, короче не пытайся писать регулярки пока не научишься их писать грамотно...
     
  7. enshtein

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

    С нами с:
    27 авг 2006
    Сообщения:
    291
    Симпатии:
    0
    посмотрел я на все это и все-таки решил проще сделать - не пользоваться всеми этими сторонними вещами, выдранными кусками и т.д. - тем более что они все так и не удовлетворяют моим потребностям!

    у меня всего-то 5 bb-кодов которые надо пропарсить в теги HTML а потом обратно из HTML сделать bb. Помогите плиз составить регулярки или тыкните туда где можно увидеть хорошие , грамотные примеры!
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск