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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

多媒体播放-将自定义Discuz代码参数个数从3增加到4 [DZ5.0RC2]

[复制链接]
uusz 发表于 2006-8-25 19:35:25 | 显示全部楼层 |阅读模式
Dz5.0支持多媒体播放和ubb按钮的自动开启,我们在后台可以自定义Discuz代码,但是我们最多只能定义3个动态参数,3个动态参数支持形如  [mp=500,300]多媒体地址[/mp]  这样的代码。

问题是,有些朋友是从dv转过来的或者以前对论坛代码进行过一些修改,导致老帖子里面有形如  [mp=500,300,0]多媒体地址[/mp]  的播放代码,这样的代码是有高度、宽度、是否自动播放、多媒体文件地址总共4个动态参数的,我们通过后台设置自定义Discuz代码也无能为力。

针对这一问题,目前流行的解决办法是直接修改discuz.func.php文件
参考:
播放器+FLASH+歌词秀+全按扭(HIDE) For 5.0.0 by oytktk和小雨!
https://discuz.dismall.com/thread-362508-1-1.html

但是这样的修改有一个问题:如果首选编辑器是所见即所得模式,编辑含有这些代码的帖子的时候,看到的不是ubb代码,而是html代码,当你从所见即所得模式切换到代码模式,会发现,这些代码消失不见了!(按照这种方法修改过的朋友可以试试看)

我就是从dv转过来的,老帖里面有很多这样的4个参数的代码都无法显示,而且本人和论坛会员也习惯了这种可以设定高度、宽度、是否自动播放的代码。为了解决这个问题,研究了一下代码,找到了一个自认为比较理想的解决办法,那就是:
将自定义Dicuz代码的最多参数个数从3增加到4
这样,我们在后台开启自定义Discuz代码,设置4个参数,就可以解决形如  [mp=500,300,0]多媒体文件地址[/mp]  这样的播放代码的遗留问题了。
------------------------------------------------------------------
修改内容:将自定义Discuz代码的最多参数个数从3增加到4
修改难度:容易
数据库升级:无
修改涉及文件:2个
------------------------------------------------------------------

修改方法:

1、修改include/cache.func.php
查找
  1.       1 => "/\[{bbtag}](.+?)\[\/{bbtag}\]/is",
  2.       2 => "/\[{bbtag}=(['"]?)(.+?)(['"]?)\](.+?)\[\/{bbtag}\]/is",
  3.       3 => "/\[{bbtag}=(['"]?)(.+?)(['"]?),(['"]?)(.+?)(['"]?)\](.+?)\[\/{bbtag}\]/is"
复制代码

修改为
  1.       1 => "/\[{bbtag}](.+?)\[\/{bbtag}\]/is",
  2.       2 => "/\[{bbtag}=(['"]?)(.+?)(['"]?)\](.+?)\[\/{bbtag}\]/is",
  3.       3 => "/\[{bbtag}=(['"]?)(.+?)(['"]?),(['"]?)(.+?)(['"]?)\](.+?)\[\/{bbtag}\]/is",
  4.       4 => "/\[{bbtag}=(['"]?)(.+?)(['"]?),(['"]?)(.+?)(['"]?),(['"]?)(.+?)(['"]?)\](.+?)\[\/{bbtag}\]/is"
复制代码

查找
  1.      case 2:
  2.       $bbcode['replacement'] = str_replace('{1}', '\\2', $bbcode['replacement']);
  3.       $bbcode['replacement'] = str_replace('{2}', '\\4', $bbcode['replacement']);
  4.       break;
  5.      case 3:
  6.       $bbcode['replacement'] = str_replace('{1}', '\\2', $bbcode['replacement']);
  7.       $bbcode['replacement'] = str_replace('{2}', '\\5', $bbcode['replacement']);
  8.       $bbcode['replacement'] = str_replace('{3}', '\\7', $bbcode['replacement']);
  9.       break;
复制代码

后面添加
  1.      case 4:
  2.       $bbcode['replacement'] = str_replace('{1}', '\\2', $bbcode['replacement']);
  3.       $bbcode['replacement'] = str_replace('{2}', '\\5', $bbcode['replacement']);
  4.       $bbcode['replacement'] = str_replace('{3}', '\\8', $bbcode['replacement']);
  5.       $bbcode['replacement'] = str_replace('{4}', '\\10', $bbcode['replacement']);
  6.       break;
复制代码


2、修改admin/misc.inc.php
查找
  1. elseif($paramsnew < 1 || $paramsnew > 3 || $nestnew < 1 || $nestnew > 3)
复制代码

修改为
  1. elseif($paramsnew < 1 || $paramsnew > 4 || $nestnew < 1 || $nestnew > 3)
复制代码



修改完毕,修改以后,在后台开启自定义Discuz代码,你就可以最多设置4个动态参数了,可以很方便的支持形如  [mp=500,300,0][/mp]  这样的代码。

小提示:
1、开启自定义代码的时候,设置相应的ubb按钮图标,ubb按钮会自动在前台显示
2、用户组必须开启允许使用自定义Discuz代码,该用户组成员才能使用



================uusz.net原创修改,转载请注明===============

[ 本帖最后由 uusz 于 2006-8-28 20:00 编辑 ]

评分

1

查看全部评分

ejew 发表于 2006-8-25 19:44:26 | 显示全部楼层
不好意思占位
回复

使用道具 举报

Miaki 发表于 2006-8-25 19:47:18 | 显示全部楼层
我想把原来的 [wma][/wma]搞成自动播放
那就是上面的全部还是只弄到“到此,修改基本完毕”
回复

使用道具 举报

 楼主| uusz 发表于 2006-8-25 19:49:33 | 显示全部楼层

回复 #4 Miaki 的帖子

如果你只需要自动播放或者手动播放中的一种,就不需要进行任何修改,只在后台修改一下替换内容就ok

唉,难道没有需要的人吗,奇怪

[ 本帖最后由 uusz 于 2006-8-27 14:00 编辑 ]
回复

使用道具 举报

kkvkk 发表于 2006-8-25 19:58:01 | 显示全部楼层
收藏
回复

使用道具 举报

q155555 发表于 2006-8-25 22:04:14 | 显示全部楼层
你要是做出那个D5.0 RC2 的播放器+FLASH+歌词秀+全按扭,保证多人顶.....................
回复

使用道具 举报

 楼主| uusz 发表于 2006-8-25 23:48:36 | 显示全部楼层
我感觉你说的那个没有必要啊,通过自定义Discuz代码完全可以实现

[ 本帖最后由 uusz 于 2006-8-27 13:59 编辑 ]
回复

使用道具 举报

q155555 发表于 2006-8-26 02:19:40 | 显示全部楼层
你不用不代表别人不用呀,你说没人顶你的贴那是因为别人不想用你这个,人家要的是我说滴那个,那你也就不能怪没人顶你的贴了.......................
回复

使用道具 举报

 楼主| uusz 发表于 2006-8-27 13:58:40 | 显示全部楼层
给需要的人,给聪明的人
回复

使用道具 举报

HY清风 发表于 2006-8-27 14:02:18 | 显示全部楼层
HY清风 收录提示
我很赞同,收录到 Discuz! 5.0『插件.风格.美化.功能』HY清风 收集整理贴!
https://discuz.dismall.com/thread-359738-1-1.html
感谢你发布或推荐优秀作品给本贴!
推荐方式A、回复此贴  B、论坛短消息 PM 我!点这里PM我

[ 本帖最后由 HY清风 于 2006-8-27 20:39 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 09:24 , Processed in 0.031574 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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