[Ищу] Парсер bbcode

Discussion in 'ПО для Web разработчика' started by Xantalion, 16 Nov 2010.

  1. Xantalion

    Xantalion New Member

    Joined:
    16 Feb 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    3
    Приветствую!

    Может у кого есть хороший парсер bb кода?
    И как будет выглядеть парс для фона шрифта, верхнего, нижнего подчеркивания и для ютубовского object ?


    В инете лежит такой парсер bb кода
    PHP:
    <?php
    /*Парсер BB кодов
     * Анников Яков
     * www.usualblog.ru
     * [email protected]
     * 2010 г.
     */
    function bbcode($text) {
      
    $str_search = array(
      
    "#\[br\]#is",
      
    "#\[p\](.+?)\[/p\]#is",
      
    "#\[b\](.+?)\[/b\]#is",
      
    "#\[i\](.+?)\[/i\]#is",
      
    "#\[s\](.+?)\[/s\]#is",
      
    "#\[u\](.+?)\[/u\]#is",
      
    "#\[url=(.+?)\](.+?)\[\/url\]#is",
      
    "#\[url\](.+?)\[\/url\]#is",
      
    "#\[img\](.+?)\[\/img\]#is",
      
    "#\[size=(.+?)\](.+?)\[\/size\]#is",
      
    "#\[color=(.+?)\](.+?)\[\/color\]#is",
      
    "#\[list\](.+?)\[\/list\]#is",
      
    "#\[list=(1|a|I)\](.+?)\[\/list\]#is",
      
    "#\[\*\](.*)#",
      
    "#\[h(1|2|3|4|5|6)\](.+?)\[/h\\1\]#is");
      
    $str_replace = array(
      
    "<br />",
      
    "<p>\\1</p>",
      
    "<strong>\\1</strong>",
      
    "<span style='font-style:italic'>\\1</span>",
      
    "<span style='text-decoration:line-through'>\\1</span>",
      
    "<span style='text-decoration:underline'>\\1</span>",
      
    "<a target='_blank' href='\\1'>\\2</a>",
      
    "<a target='_blank' href='\\1'>\\1</a>",
      
    "<img src='\\1' />",
      
    "<span style='font-size:\\1pt'>\\2</span>",
      
    "<span style='color:\\1'>\\2</span>",
      
    "<ul>\\1</ul>",
      
    "<ol type='\\1'>\\2</ol>",
      
    "<li>\\1</li>",
      
    "<h\\1>\\2</h\\1>");
      return 
    preg_replace($str_search$str_replace$text);
    }
     
    #1 Xantalion, 16 Nov 2010
    Last edited: 28 Nov 2010