> 백엔드 개발 > PHP 튜토리얼 > 一个UBB的PHP类

一个UBB的PHP类

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-01 14:25:31
원래의
1277명이 탐색했습니다.

以下面是源代码调用方法:

$u=new EncodeQ3boy();

echo $u->ubbEncode($_POST["ok"]);

/*<br>Text Encode Class<br>Write by q3boy 2003.3.10<br>usage:<br>$eq = new EncodeQ3boy($str);初始化类<br>//以下为ubbEncode参数<br>$eq->url   = true;    //启用url自动解析  默认false<br>$eq->html   = true;    //启用HTML编码(处理,全角/半角空格,制表符,换行符)默认true<br>$eq->image  = true;    //启用图象标签解析 默认true<br>$eq->font   = true;    //启用字体标签解析 默认true<br>$eq->element = true;    //启用外部元素解析 默认true<br>$eq->flash  = true;    //启用Flash解析   默认true<br>$eq->php   = true;    //启用语法高亮显示 默认true<br>//ubbEncode参数结束<br>echo($eq->getImageOpener());//输出图片自动缩放所需js函数<br>echo $eq->htmlEncode();     //输出ubb编码后字符串<br>echo"<hr>";<br>echo $eq->ubbEncode();      //输出ubb编码后字符串<br>echo"<hr>";<br>echo $eq->removeHtml();     //输出移除html标签的字符串<br>echo"<hr>";<br>echo $eq->ubbEncode();      //输出移除ubb标签的字符串<br>支持ubb标签列表:<br>图片类:<br><img src="/static/imghw/default1.png" data-src="http://www.aaa.com/aaa.gif" class="lazy" onload="return imgzoom(this,550);" onclick="javascript:window.open(this.src);" style="max-width:90%" alt="一个UBB的PHP类" >  插入图片<br>[limg]http://www.aaa.com/aaa.gif[/limg] 图片左绕排<br>[rimg]http://www.aaa.com/aaa.gif[/rimg] 图片右绕排<br>[cimg]http://www.aaa.com/aaa.gif[/cimg] 图片居中绕排<br>文本控制类:<br>[br] 换行符<br>[b]粗体字[b]<br>[i]斜体字[i]<br>[u]下划线[u]<br>[s]删除线[s]<br>[sub]文字下标[sub]<br>[sup]文字上标[sup]<br>[left]文字左对齐[left]<br>[right]文字右对齐[right]<br>[center]文字居中[center]<br>[align=(left|center|right)]文字对齐方式[align]<br><font size="([1-6">)]文字大小[size]<br>[font=(字体)[font]<br>[color=(文字颜色)][color]<br><ul>无序列表<ul> <br><ul style="list-style-type:s">有序列表<ul> <br><ul style="list-style-type:(A|1|I)">有序列表(列表方式为(abc,123,I II III))<ul> <br><ul style="list-style-type:(num)">有序列表(自num开始计数)<ul> <br>[li]列表单元项[li]<br>外部元素类:<br>链接<br>链接文字<br>邮件地址<br>说明文字邮件地址<br><table cellpadding="0" cellspacing="0" border="1" width="94%" bordercolor="#000000" bgcolor="#F2F8FF" align="center"><tr><td><table width="100%" cellpadding="5" cellspacing="1" border="0"><tr><td bgcolor="#F6F6F6">引用块[/quote]<br>[iframe]内插帧地址[/iframe]<br>[iframe=(内插帧高度)]内插帧地址[/iframe]<br>[swf]flash动画地址[/swf]<br>[swf=宽度,高度]flash动画地址[/swf]<br>代码块:<br><br>[php][/php]<br>[code 代码块名称][/code]<br>[php 代码块名称][/php]<br>如需使用php语法高亮请务必在代码块两端加上"?>"标签<br>*/<br>class EncodeQ3boy {<br>    var $str      = "";<br>    var $iconpath   = "/image/icon";//图标文件路径<br>    var $imagepath   = "/upfiles/article";//图片文件默认路径<br>    var $tagfoot = ' border="1" style="cursor: hand" ';//图片文件附加属性<br>    var $url   = false;    //url自动解析<br>    var $html  = true;        //HTML编码<br>    var $image  = true;        //解析图象标签<br>    var $font  = true;        //字体标签<br>    var $element = true;        //外部元素<br>    var $flash  = true;        //Flash<br>    var $php   = true;        //语法高亮显示<br>    function EncodeQ3boy($str='',$imgph='') {<br>        if($str) {<br>            $str = strtr($str,array("nr"=>"n","rn"=>"n","r"=>"n"," "=>" "));<br>            $this->str = $str;<br>        }<br>        if($imgph) $this->imagepath = $imgph;<br>    }<br>    function getImageOpener() {<br>        Return "<script language="javascript" type="text/javascript">rnfunction ImageLoad(img) &#123;rnif(img.width>480) img.width=480;rn&#125;rnfunction ImageOpen(img) &#123;rnwindow.open(img.src,'','menubar=no,scrollbars=yes,width='+(screen.width-8)+',height='+(screen.height-74)+',left=0,top=0');rn&#125;rn</script>";<br>    }<br>    function removeHtml($str='') {<br>        if(!$str) $str = $this->str;<br>        return strip_tags($str);<br>    }<br>    function removeUbb($str='') {<br>        if(!$str) $str = $this->str;<br>        return preg_replace("/[/?w+(s+[^]s]+)*s*]/is","",$str);<br>    }<br>    function htmlEncode($str='') {<br>        if(!$str) $str = $this->str;<br>        $ary = array(<br>            ''            '>'=>'>',<br>            " "=>" ",<br>            " "=>" "<br>            );<br>        $str = preg_replace("/n{2,}/s","nn",strtr($str,$ary));<br>        Return str_replace("n","n<br>",$str);<br>    }<br>    function ubbEncode($str='') {<br>        if(!$str) $str = $this->str;<br>        $rpl_ary = array();<br>        $rpl_ary = array();<br>        if($this->html) $str = $this->htmlEncode($str,true);<br>        $tagfoot = $this->tagfoot;<br>        $icon  = $this->iconpath;<br>        $image  = $this->imagepath;<br>        if($this->php) {<br>            preg_match_all('/(n<br>)*[(php|code)s*(.*?)]s*(.+?)s*[/(php|code)](n<br>)*/is',$str,$ary);<br>            $str = preg_split('/(n<br>)*[(php|code)s*(.*?)]s*(.+?)s*[/(php|code)](n<br>)*/is',$str);<br>        }<br>        if($this->url){<br>            $reg_ary = array_merge($reg_ary,array(<br>                '/(?                '/(?            ));<br>            $rpl_ary = array_merge($rpl_ary,array(<br>                '1',<br>                '1',<br>            ));<br>        }<br>        if($this->image) {<br>            $reg_ary = array_merge($reg_ary,array(<br>            '/<img src="/static/imghw/default1.png" data-src="s*http(s?)://(S+)s*" class="lazy" onload="return imgzoom(this,550);" onclick="javascript:window.open(this.src);" style="max-width:90%" alt="一个UBB的PHP类" >/i',<br>            '/[limg]s*http(s?)://(S+)s*[/limg]/i',<br>            '/[rimg]s*http(s?)://(S+)s*[/rimg]/i',<br>            '/[cimg]s*http(s?)://(S+)s*[/cimg]/i',<br>            '/[img]s*([^/:]+)s*[/img]/i',<br>            '/[limg]s*([^/:]+)s*[/limg]/i',<br>            '/[rimg]s*([^/:]+)s*[/rimg]/i',<br>            '/[cimg]s*([^/:]+)s*[/cimg]/i',<br>            '/<img src="/static/imghw/default1.png" data-src="s*(S+)s*" class="lazy" onload="return imgzoom(this,550);" onclick="javascript:window.open(this.src);" style="max-width:90%" alt="一个UBB的PHP类" >/i',<br>            '/[limg]s*(S+)s*[/limg]/i',<br>            '/[rimg]s*(S+)s*[/rimg]/i',<br>            '/[cimg]s*(S+)s*[/cimg]/i',<br>            ));<br>            $rpl_ary = array_merge($rpl_ary,array(<br>            '<img src="/static/imghw/default1.png" data-src="http1://2" class="lazy" alt="一个UBB的PHP类" >',<br>            '<img src="/static/imghw/default1.png" data-src="http1://2" class="lazy" align="left" alt="一个UBB的PHP类" >',<br>            '<img src="/static/imghw/default1.png" data-src="http1://2" class="lazy" align="right" alt="一个UBB的PHP类" >',<br>            '<div align="center"><img src="/static/imghw/default1.png" data-src="http1://2" class="lazy" alt="一个UBB的PHP类" ></div>',<br>            '<img src="/static/imghw/default1.png" data-src="'.$image.'/1" class="lazy" . alt="一个UBB的PHP类" >',<br>            '<img src="/static/imghw/default1.png" data-src="'.$image.'/1" class="lazy" . align="left" alt="一个UBB的PHP类" >',<br>            '<img src="/static/imghw/default1.png" data-src="'.$image.'/1" class="lazy" . align="right" alt="一个UBB的PHP类" >',<br>            '<div align="center"><img src="/static/imghw/default1.png" data-src="'.$image.'/1" class="lazy" . alt="一个UBB的PHP类" ></div>',<br>            '<img src="/static/imghw/default1.png" data-src="1" class="lazy" alt="一个UBB的PHP类" >',<br>            '<img src="/static/imghw/default1.png" data-src="1" class="lazy" align="left" alt="一个UBB的PHP类" >',<br>            '<img src="/static/imghw/default1.png" data-src="1" class="lazy" align="right" alt="一个UBB的PHP类" >',<br>            '<div align="center"><img src="/static/imghw/default1.png" data-src="1" class="lazy" alt="一个UBB的PHP类" ></div>',<br>            ));<br>        }<br>        if($this->font) {<br>            $reg_ary = array_merge($reg_ary,array(<br>            '/[br]/i',<br>            '/<b>s*(.+?)s*</b>/is',<br>            '/<i>s*(.+?)s*</i>/is',<br>            '/<u>s*(.+?)s*</u>/is',<br>            '/[s]s*(.+?)s*[/s]/is',<br>            '/[sub]s*(.+?)s*[/sub]/is',<br>            '/[sup]s*(.+?)s*[/sup]/is',<br>            '/[left]s*(.+?)s*[/left]/is',<br>            '/[right]s*(.+?)s*[/right]/is',<br>            '/<center>s*(.+?)s*</center>/is',<br>            '/[align=s*(left|center|right)]s*(.+?)s*[/align]/is',<br>            '/[size=s*([.|d])s*]s*(.*?)s*/is',<br>            '/[font=s*(.*?)s*]s*(.*?)s*[/font]/is',<br>            '/s*(.*?)s*/is',<br>            '/<ul>s*(<br>)?s*(.+?)s*</ul>/is',<br>            '/<ul style="max-width:90%">s*(<br>)?s*(.+?)s*</ul>/is',<br>            '/<ul style="list-style-type:(A|1|I)">s*(<br>)?s*(.+?)s*</ul>/is',<br>            '/<ul style="list-style-type:(S+?)">s*(<br>)?s*(.+?)s*</ul>/is',<br>            '/[li]s*(.+?)s*[/li]/is',<br>            ));<br>            $rpl_ary = array_merge($rpl_ary,array(<br>            '<br>',<br>            '<b>1</b>',<br>            '<i>1</i>',<br>            '<u>1</u>',<br>            '<s>1</s>',<br>            '<sub>1</sub>',<br>            '<sup>1</sup>',<br>            '<div align="left">1</div>',<br>            '<div align="right">1</div>',<br>            '<div align="center">1</div>',<br>            '<div align="1">2</div>',<br>            '<font size='1pt;"'>2</font>',<br>            '<font face="1">2</font>',<br>            '<font color="1">2</font>',<br>            '<ul>2</ul>',<br>            '<ol>2</ol>',<br>            '<ol type="1">3</ol>',<br>            '<ol start="1">3</ol>',<br>            '<li>1</li>',<br>            ));<br>        }<br>        if($this->element){<br>            $reg_ary = array_merge($reg_ary,array(<br>            '/s*(.+?)s*/i',<br>            '/s*(.+?)s*/i',<br>            '/s*(.+?)s*/i',<br>            '/s*(.+?)s*/i',<br>            '/[quote]s*(<br>)?s*(.+?)s*</td></tr></table></td></tr></table> <br>/is',<br>            '/[iframe]s*(.+?)s*[/iframe]/is',<br>            '/[iframe=s*(d+?)s*]s*(.+?)s*[/iframe]/is',<br>            ));<br>            $rpl_ary = array_merge($rpl_ary,array(<br>            '<a href="1" target="_blank"><img src="/static/imghw/default1.png" data-src="2" class="lazy" border="0" alt="超链接地址" align="bottom">2</a> ',<br>            '<a href="1" target="_blank"><img src="/static/imghw/default1.png" data-src="2" class="lazy" border="0" alt="超链接地址" align="bottom">1</a> ',<br>            '<a href="mailt1"><img src="/static/imghw/default1.png" data-src="2" class="lazy" border="0" alt="电子邮件地址" align="bottom">2</a> ',<br>            '<a href="mailt1"><img src="/static/imghw/default1.png" data-src="2" class="lazy" border="0" alt="电子邮件地址" align="bottom">1</a> ',<br>            '<table cellpadding="0" cellspacing="0" border="0" width="90%" align="center" style="max-width:90%"><tr><td><table width="100%" cellpadding="5" cellspacing="1" border="0"><tr><td width="100%">2</td></tr></table></td></tr></table>',<br>            '<iframe name="ifr1" frameborder="0" allowtransparency="true" scrolling="yes" width="100%" style="max-width:90%" marginwidth="0" marginheight="0" hspace="0" vspace="0">1</iframe><br><a href="1" target="_blank">如果你的浏览器不支持嵌入框,请点这里查看</a>',<br>            '<iframe name="ifr1" frameborder="0" allowtransparency="true" scrolling="yes" width="100%" height="1" marginwidth="0" marginheight="0" hspace="0" vspace="0">2</iframe><br><a href="2" target="_blank">如果你的浏览器不支持嵌入框,请点这里查看</a>',<br>            ));<br>        }<br>        if($this->flash){<br>            $reg_ary = array_merge($reg_ary,array(<br>            '/[swf]s*(.+?)s*[/swf]/i',<br>            '/[swf=(d+),(d+)]s*(.+?)s*[/swf]/i'<br>            ));<br>            $rpl_ary = array_merge($rpl_ary,array(<br>            '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"><param name="movie" value="1"> <param name="quality" value="high"> <embed src="1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>',<br>            '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="1" height="2"><param name="movie" value="3"> <param name="quality" value="high"> <embed src="3" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="1" height="2"></embed></object>'<br>            ));<br>        }<br>        if(sizeof($reg_ary)&&sizeof($rpl_ary))$str = preg_replace($reg_ary,$rpl_ary,$str);<br>        if($this->php) {<br>            $tmp = $str[0];<br>            for($i=0; $i<sizeof></sizeof>                ob_start();<br>                highlight_string(trim(strtr($ary[4][$i],array('''=>'>'," "=>" ","<br>"=>""))));<br>                $tmp .= '<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#055AA0" width="95%"><tr><td> <code>'.(trim($ary[3][$i])?trim($ary[3][$i]):'代码片段:').'

'.ob_get_contents().'
'.$str[$i+1];
                ob_end_clean();
            }
            $str = $tmp;
            unset($tmp);
        }
        Return $str;
    }
}
//上面就是完整的UBB函数
//下面是调用方法,
$u=new EncodeQ3boy();
echo $u->ubbEncode($_POST["ok"]);



관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿