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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[不是BUG] DZ发布的FLASH在SS里无法显示

[复制链接]
cometj 发表于 2009-5-20 10:06:13 | 显示全部楼层 |阅读模式
论坛发布FLASH播放正常,但聚合到SS里就显示FLASH地址代码,问题很严重
论坛里正常显示:http://www.cometj.com/bbs/thread-2141-1-1.html
社区里显示源码:http://www.cometj.com/viewthread-2141.html

请问有没有解决办法?

建议官方出解决方案!谢谢。
紫琼 发表于 2009-5-20 10:26:08 | 显示全部楼层
SupeSite 不支持 Discuz! 代码,两个的编辑器是不同的,所以这块儿没法统一~
回复

使用道具 举报

 楼主| cometj 发表于 2009-5-20 10:38:03 | 显示全部楼层
回复

使用道具 举报

kuyoo 发表于 2009-5-27 08:58:09 | 显示全部楼层
那怎么解决?
回复

使用道具 举报

紫琼 发表于 2009-5-27 09:40:10 | 显示全部楼层
临时解决办法:针对 Discuz! 7 + SupeSite 7
在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. }
复制代码
回复

使用道具 举报

zentley 发表于 2009-6-16 18:15:12 | 显示全部楼层
可以解决么?
回复

使用道具 举报

zentley 发表于 2009-6-16 18:21:25 | 显示全部楼层
试了修改了,不起作用,依旧显示
Mariah Carey Never Too Far
发布:2009-6-14 03:52 | 作者:kare红毛狼 | 来源:本站 | 查看:6次 | 字号: 小 中 大
http://player.youku.com/player.php/sid/XMjg0MDAzODQ=/v.swf
回复

使用道具 举报

zentley 发表于 2009-6-17 16:23:20 | 显示全部楼层
解决了。。
演示请看:我要派对网
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 17:42 , Processed in 0.025742 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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