• 技术文章 >后端开发 >php教程

    php的把ubb代码转换成html代码的程序_PHP教程

    2016-07-13 10:59:17原创387
    function ubbcode($str){
    //$str = str_replace("file:","file :",$str);
    //$str = str_replace("files:","files :",$str);
    //$str = str_replace("script:","script :",$str);
    //$str = str_replace("js:","js :",$str);

    //图片UBB
    $str = preg_replace("/\[img\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "\"按此在新窗口浏览图片\"300)this.width=300\">", $str);
    $str = preg_replace("/\[img=*([0-9]*),*([0-9]*)\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]/i", "\"按此在新窗口浏览图片\"300)this.width=300\">", $str);

    $str = preg_replace("/(\[img\])images\/face\/em(.*?)\.gif(\[\/img\])/i", "", $str);
    //链接UBB
    $str = preg_replace("/(\[url\])(.[^\[]*)(\[url\])/i", "\${1}", $str);
    $str = preg_replace("/\[url=(.[^\[]*)\]/i", "", $str);
    //邮箱UBB
    $str = preg_replace("/(\[email\])(.*?)(\[\/email\])/i", "
    mailto:\${2}\">\${2}>", $str);
    $str = preg_replace("/\[email=(.[^\[]*)\]/i", "
    mailto:\${1}\" target=\"new\">", $str);
    //QQ号码UBB
    $str = preg_replace("/\[qq=([0-9]*)\]([0-9]*)\[\/qq\]/i", "
    http://wpa.qq.com/pa?p=1:\${2}:\${1}\" alt=\"点击这里给我发消息\">", $str);
    //颜色UBB
    $str = preg_replace("/\[color=(.[^\[]*)\]/i", "", $str);
    //文字字体UBB
    $str = preg_replace("/\[font=(.[^\[]*)\]/i", "", $str);
    //文字大小UBB
    $str = preg_replace("/\[size=([0-9]*)\]/i", "", $str);
    $str = preg_replace("/\[size=([0-9]*)pt\]/i", "", $str);
    $str = preg_replace("/\[size=([0-9]*)px\]/i", "", $str);
    //文字对齐方式UBB
    $str = preg_replace("/\[align=(center|left|right)\]/i", "
    ", $str);
    //表格UBB
    //$str = preg_replace("/\[table=(.[^\[]*)\]/i", "", $str);
    //表格UBB2
    //$str = preg_replace("/\[td=([0-9]*),([0-9]*),([0-9]*)\]/i", "","","","
    ", $str);
    //字体倾斜
    $str = preg_replace("/\[i\]((.|\n)*?)\[\/i\]/i", "\${1}", $str);
    //FLASH动画UBB
    $str = preg_replace("/(\[flash\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "\"点击开新窗口欣赏该flash动画!\"[全屏欣赏]
    http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"300\" height=\"200\">http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"200\">\${2}
    ", $str);
    $str = preg_replace("/(\[flash=*([0-9]*),*([0-9]*)\])(http:\/\/.[^\[]*(.swf))(\[\/flash\])/i", "\"点击开新窗口欣赏该flash动画!\"[全屏欣赏]
    http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"\${2}\" height=\"\${3}\">http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash\" type=\"application/x-shockwave-flash\" width=\"\${2}\" height=\"\${3}\">\${4}
    ", $str);

    //MEDIA PLAY播放UBB
    $str = preg_replace("/\[wmv\](.[^\[]*)\[\/wmv]/i", "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701\" flename=\"mp\" src=\"\${1}\" width=\"300\" height=\"200\">", $str);
    $str = preg_replace("/\[wmv=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/wmv]/i", "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701\" flename=\"mp\" src=\"\${3}\" width=\"\${1}\" height=\"\${2}\">", $str);

    //REALPLAY 播放UBB
    $str = preg_replace("/\[rm\](.[^\[]*)\[\/rm]/i", "
    ", $str);
    $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", "
    ", $str);
    $str = str_replace("\r\n", "
    ", $str);
    $str = preg_replace("/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/i", "
    ", $str);
    /*
    re.pattern="\[code\]((.|\n)*?)\[\/code\]"
    Set tempcodes=re.Execute($str)
    For i=0 To tempcodes.count-1
    re.pattern="
    "
    tempcode=Replace(tempcodes(i),"
    ",vbcrlf)
    $str=replace($str,tempcodes(i),tempcode)
    next
    */
    $searcharray = array("[/url]","[/email]","[/color]", "[/size]", "[/font]", "[/align]", "[b]", "[/b]","[u]", "[/u]", "[list]", "[list=1]", "[list=a]","[list=A]", "[*]", "[/list]", "[indent]", "[/indent]","[ DISCUZ_CODE_0 ]","[quote]","[/quote]","[tr]","[td]","[/td]","[/tr]","[/table]");
    $replacearray= array("","","", "", "", "", "", "","", "", "
      ", "
        ", "
          ","
            ", "
          1. ", "
    ", "
    ", "
    ","

    提示:您可以先修改部分代码再运行
    ","
    ","
    ","
    ","
    ");
    for ($i=0; $i $str = str_replace($searcharray[$i], $replacearray[$i], $str);
    }
    return $str;
    }
    /*
    're.Pattern="\[UPLOAD=(gif|jpg|jpeg|bmp)\](.[^\[]*)(gif|jpg|jpeg|bmp)\[\/UPLOAD\]"
    '$str= re.Replace($str,"
    此主题相关链接如下:
    按此在新窗口浏览图片screen.width-333)this.width=screen.width-333\">")
    're.Pattern="\[UPLOAD=(doc|xls|ppt|htm|swf|rar|zip|exe)\](.[^\[]*)(doc|xls|ppt|htm|swf|rar|zip|exe)\[\/UPLOAD\]"
    '$str= re.Replace($str,"
    此主题相关链接如下:
    点击浏览该文件")
    '自动识别网址
    're.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
    '$str = re.Replace($str,"$1")
    're.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)$"
    '$str = re.Replace($str,"$1")
    're.Pattern = "([^>=\"])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
    '$str = re.Replace($str,"$1$2")
    '自动识别www等开头的网址
    're.Pattern = "([^(
    http://|http:\\)])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)"
    '$str = re.Replace($str,"$2")
    're.Pattern="\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]"
    '$str=re.Replace($str,"
    $4
    ")
    're.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]"
    '$str=re.Replace($str,"
    $4
    ")
    */
    ?>

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631908.htmlTechArticle?php function ubbcode($str){ //$str = str_replace(file:,file :,$str); //$str = str_replace(files:,files :,$str); //$str = str_replace(script:,script :,$str); //$str = str_replace(j...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 一文聊聊php5.4的特性【总结】• 一文聊聊php5.6的特性【总结】• PHP常量两种定义方法:define和const有什么区别• 一文详解PHP5-8各版本特性【汇总】• PHP实现LRU算法的示例代码
    1/1

    PHP中文网