discuz的ismozilla函数,该如何解决

WBOY
Release: 2016-06-13 13:30:10
Original
966 people have browsed it

discuz的ismozilla函数
这么晚了,不知道还有没有人在,小弟半夜遇到一个问题,百思不得其解,请各位路过大神指点一二,不胜感激。

discuz有个函数是将html代码转换成ubb代码的,看代码

function html2bbcode($text) {
$text = strip_tags($text, '

    •  discuz的ismozilla函数,该如何解决

      <script>');<br /><br /> if(ismozilla()) {<br /> $text = preg_replace("/(?<!<br>|<br \/>|\r)(\r\n|\n|\r)/", ' ', $text);<br /> }<br />只列出了一部分代码。<br /><br />上面的ismozilla函数是用来判断火狐浏览器的,代码如下<br /><br />function ismozilla() {<br /> $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);<br /> if(strpos($useragent, 'gecko') !== FALSE) {<br /> preg_match("/gecko\/(\d+)/", $useragent, $regs);<br /> return $regs[1];<br /> }<br /> return FALSE;<br />}<br /><br />大家看到红色部分的代码了吧,不明白的是,为什么火狐浏览器就要把换行全部干掉?这到底是为什么?<br /><br />我写了一个计划任务触发的发帖程序,估计是被其他东西触发了,发出来的帖子经过那个函数转换之后,全部没有换行。<br /><br />在使用html2bbcode函数之前这样定义了:<br />$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7 360EE';<br />但是发出来的帖子还是没有换行,也不知道如何解决才好,说也奇怪,discuz定义了这个函数,可是整站却没有一处地方用到,奇怪得很。<br><br /><font color='#e78608'>------解决方案--------------------</script>

      写码的不止一个人。做的走了,来的人改了。到最后就是成了码渣了,横流在码中央。搜索一下,没有用到,只能说明,重构的时候忘了去掉了
      ------解决方案--------------------
      这是一个将 HTML 标记转换成 BBCode 的函数,在 discuz 中没有地方需要这种功能

      你若怀疑是这个函数作怪,那么就将红色的部分注释掉
      ------解决方案--------------------
      问题在于:虽然你修改了那个函数,却发现问题依旧
      ------解决方案--------------------
      可能是 为css做的 判断!!!

    Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template