本人对正则表达式不熟,不会写UBB的转换函数,后来在网上下载了一个程序,在其代码里找到了这个函数,并且运行成功,特贴出来共享一下:


function UBB2html($SourceStr){//UBB代码处理函数!目前只想支持<b><u><i><img><a>和mailto

        $targetstr=str_replace(array("[b]","[/b]","[u]","[/u]","[i]","[/i]"),array("<b>","</b>","<u>","</u>","<i>","</i>"),$SourceStr);  //<b><u><i>
        $ubbcodes['searcharray'] = array(
        "/\[url=(https?|ftp|gopher|news|telnet|mms|rtsp)([^\[]*)\](.+?)\[\/url\]/eis",      
        "/\[url\]www\.([^\[]*)\[\/url\]/eis",
        "/\[url\](https?|ftp|gopher|news|telnet|mms|rtsp)([^\[]*)\[\/url\]/eis",
        "/\[email\]\s*([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\s*\[\/email\]/i",
        "/\[email=([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\](.+?)\[\/email\]/is",
        "/\[img\](.+?)\[\/img\]/is"
      );
      $ubbcodes['replacearray'] = array(
        "cvurl('\\1','\\2','\\3')",
        "cvurl('\\1')",
        "cvurl('\\1','\\2')",
        "<a href=\"mailto:\\1@\\2\">\\1@\\2</a>",
        "<a href=\"mailto:\\1@\\2\">\\3</a>",
        "<a href=\"\\1\" target=\"_blank\" title=\"点击查看大图\"><img src=\"\\1\" height=\"100\" border=\"0\"></a>"
      );
  return preg_replace($ubbcodes['searcharray'],$ubbcodes['replacearray'],$targetstr);
  
}

到现在才0条评论

看完了要说点啥?

昵称

网址

电邮

打开HTML 打开UBB Emots 打开表情 隐藏 记住我 [注册]