Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已答复] 版主请帮帮忙

[复制链接]
管窥天下 发表于 2010-4-13 21:07:32 | 显示全部楼层 |阅读模式
我想查阅以下这个帖子 但是权限不够 请帮忙把这个帖子的内容贴出来 谢谢。

   ss中有自己的播放器,不会调用论坛的。
SS中无法解析论坛帖子中的多媒体和flash的bug:http://ct.discuz.com/viewthread.php?tid=2482#pid6049
lidq.jingwu 发表于 2010-4-14 09:55:25 | 显示全部楼层
回复 1# 管窥天下


    在SS7中,显示论坛的帖子的时候,如果帖子中有用户插入的 flash 或者多媒体,会无法显示和播放。

下面是临时解决办法

打开 include/bbcode.inc.php 文件,搜到

$discuzcodes['searcharray']['bbcode_regexp'][] = "/\[media=(\w{1,4}),(\d{1,4}),(\d{1,4}),(\d)\]\s*([^\[\<\r\n]+?)\s*\[\/media\]/ies";
        if($allowmediacode) {
            $discuzcodes['replacearray']['bbcode_regexp'][] = "parsemedia('\\1', \\2, \\3, \\4, '\\5')";
        } else {
            $discuzcodes['replacearray']['bbcode_regexp'][] = "bbcodeurl('\\5', '<a href=\"%s\" target=\"_blank\">%s</a>')";
        }

大概是112行到117行
将这些行修改为

$discuzcodes['searcharray']['bbcode_regexp'][] = "/\[media=([\w,]+)\]\s*([^\[\<\r\n]+?)\s*\[\/media\]/ies";
        if($allowmediacode) {
            $discuzcodes['replacearray']['bbcode_regexp'][] = "parsemedia('\\1', '\\2')" ;
        } else {
            $discuzcodes['replacearray']['bbcode_regexp'][] = "bbcodeurl('\\2', '<a href=\"%s\" target=\"_blank\">%s</a>')";
        }
        
        $discuzcodes['searcharray']['flash'] = "/\[flash\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/ies";
        $discuzcodes['replacearray']['flash'] = "bbcodeurl('\\1', '<a href=\"%s\" target=\"_blank\">Flash: %s</a> ')";
        
        $message = preg_replace($discuzcodes['searcharray']['flash'], $discuzcodes['replacearray']['flash'], $message);


然后在该文件继续搜

function parsemedia($type, $width, $height, $autostart, $url) {

这个函数,将这个函数替换成
  1. function parsemedia($params, $url) {

  2.     $params = explode(',', $params);
  3.     if(in_array(count($params), array(3, 4))) {
  4.         $type = $params[0];
  5.         $width = intval($params[1]) > 800 ? 800 : intval($params[1]);
  6.         $height = intval($params[2]) > 600 ? 600 : intval($params[2]);
  7.         $autostart = isset($params[3])&&$params[3]>0 ? 1 : 0;
  8.         $url = str_replace(array('<', '>'), '', str_replace('\"', '"', $url));
  9.         $mediaid = 'media_'.random(3);
  10.         switch($type) {
  11.             case 'ra'    : return '<object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="'.$width.'" height="32"><param name="autostart" value="'.$autostart.'" /><param name="src" value="'.$url.'" /><param name="controls" value="controlpanel" /><param name="console" value="'.$mediaid.'_" /><embed src="'.$url.'" type="audio/x-pn-realaudio-plugin" controls="ControlPanel" '.($autostart ? 'autostart="true"' : '').' console="'.$mediaid.'_" width="'.$width.'" height="32"></embed></object>';break;
  12.             case 'rm'    : return '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="'.$width.'" height="'.$height.'"><param name="autostart" value="'.$autostart.'" /><param name="src" value="'.$url.'" /><param name="controls" value="imagewindow" /><param name="console" value="'.$mediaid.'_" /><embed src="'.$url.'" type="audio/x-pn-realaudio-plugin" controls="IMAGEWINDOW" console="'.$mediaid.'_" width="'.$width.'" height="'.$height.'"></embed></object><br /><object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="'.$width.'" height="32"><param name="src" value="'.$url.'" /><param name="controls" value="controlpanel" /><param name="console" value="'.$mediaid.'_" /><embed src="'.$url.'" type="audio/x-pn-realaudio-plugin" controls="ControlPanel" '.($autostart ? 'autostart="true"' : '').' console="'.$mediaid.'_" width="'.$width.'" height="32"></embed></object>';break;
  13.             case 'wma'    : return '<object classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'.$width.'" height="64"><param name="autostart" value="'.$autostart.'" /><param name="url" value="'.$url.'" /><embed src="'.$url.'" autostart="'.$autostart.'" type="audio/x-ms-wma" width="'.$width.'" height="64"></embed></object>';break;
  14.             case 'wmv'    : return '<object classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'.$width.'" height="'.$height.'"><param name="autostart" value="'.$autostart.'" /><param name="url" value="'.$url.'" /><embed src="'.$url.'" autostart="'.$autostart.'" type="video/x-ms-wmv" width="'.$width.'" height="'.$height.'"></embed></object>';break;
  15.             case 'mp3'    : return '<object classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'.$width.'" height="64"><param name="autostart" value="'.$autostart.'" /><param name="url" value="'.$url.'" /><embed src="'.$url.'" autostart="'.$autostart.'" type="application/x-mplayer2" width="'.$width.'" height="64"></embed></object>';break;
  16.             case 'mov'    : return '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="'.$width.'" height="'.$height.'"><param name="autostart" value="'.($autostart ? 'true' : 'false').'" /><param name="src" value="'.$url.'" /><embed controller="true" width="'.$width.'" height="'.$height.'" src="'.$url.'" autostart="'.($autostart ? 'true' : 'false').'"></embed></object>';break;
  17.             default        : return;
  18.         }
  19.     }
  20.     return;
  21. }
复制代码
回复

使用道具 举报

 楼主| 管窥天下 发表于 2010-4-15 21:23:00 | 显示全部楼层
谢谢版主~~
回复

使用道具 举报

leon70 发表于 2010-4-16 11:21:00 | 显示全部楼层
swf文件还是不行??!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-17 07:18 , Processed in 0.029080 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表