请选择 进入手机版 | 继续访问电脑版

[discuz教程] 不需要插件/手机支持优酷等站外视频播放

发表于 2019-5-7 15:05:37 mobankoudai 用户等级--管理员
     dz是用户最多的一个开源程序,同样也是一个坑最多的开源程序,使用dz的站几乎每天都是在填坑,dz先是搞个鸡肋的手机客户端,没搞几天自己就仍了,又搞手机触屏版更是一个深坑,几乎什么用处都每有,甚至是站外视频都无法播放,今天我们就来填下这个坑吧,这个方法自然是自己添加解析规则,看到这个教程聪明的你是不是想到了什么?网上流传的vip视频解析接口,是不是能够有一些其他更好玩的效果?好吧,这里就说了,自己研究吧,我们的正题还是如何添加正规的解析。


找到:source/function/function_discuzcode.php

1.改动[media]标签的解析

找到如下代码:
————————————————————————————————————
$message = preg_replace("/
media=([\w,]+)
media=([\w,]+)
\s*([^
\<\r\n]+?)\s∗\[\/media
\<\r\n]+?)\s∗\[\/media
/is", "[media]\\2[/media]", $message);
————————————————————————————————————
改为:
————————————————————————————————————
$message = preg_replace("/
media=([\w,]+)
media=([\w,]+)
\s*([^
\<\r\n]+?)\s∗\[\/media
\<\r\n]+?)\s∗\[\/media
/is", "<p class=\"hm\" onclick=\"openVideo(this,'\\2')\"><img src=\"static/image/common/vd.gif\" /></p>", $message);
————————————————————————————————————


2.改动[flash]标签的解析

找到如下代码:
————————————————————————————————————

$message = preg_replace("/
flash(=(\d+),(\d+))?
flash(=(\d+),(\d+))?
\s*([^
\<\r\n]+?)\s∗\[\/flash
\<\r\n]+?)\s∗\[\/flash
/is", "[media]\\4[/media]", $message);
————————————————————————————————————
改为:
————————————————————————————————————

$message = preg_replace("/
flash(=(\d+),(\d+))?
flash(=(\d+),(\d+))?
\s*([^
\<\r\n]+?)\s∗\[\/flash
\<\r\n]+?)\s∗\[\/flash
/is", "<p class=\"hm\" onclick=\"openVideo(this,'\\4')\"><img src=\"static/image/common/vd.gif\" /></p>", $message);
————————————————————————————————————

3.修改模版文件:template/default/touch/forum/viewthread.htm

在任意一个JS标签中加入解析视频的代码:

————————————————————————————————————
function openVideo(a,b) {
        $(a).html('<img src="static/image/mobile/images/icon_load.gif" />');
        var w = $(a).width();
        var h = w * 0.85;
        if(/youku/.test(b)){ //解析优酷
                b = b.match(/id_(.*?)\.html|sid\/(.*?)\/v/);
                b = 'http://player.youku.com/embed/' + (b[1] ? b[1] : b[2]);
        }else if(/bilibili|acg\.tv/.test(b)){ //解析B站
                b = b.match(/o\/av(.*?)\/|aid=(.*?)&/);
                b = 'http://www.bilibili.com/video/av' + (b[1] ? b[1] : b[2]);
        }else{
                $(a).html('不支持此视频地址显示:' + b);
                return;
        }
        $(a).append('<iframe width=0 height=0 src="' + b + '" scrolling=no frameborder=0 allowfullscreen></iframe>');
        $(a).children('iframe').load(function(){
                $(a).children('img').remove();
                $(a).children('iframe').css({'width':w,'height':h});
        })
}
————————————————————————————————————




完成上面步骤就可以支持手机播放优酷跟b站视频了,如果需要更多参考以上添加即可,当然一个vip解析接口可以轻松搞定所有解析,包括vip电影的那种~ 不能在说了。
回复

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表
本站不提供充值,如需金币请分享资源赚,没有源码分享的多来论坛发发贴就可以升级用户组免金币了鸭!各别源码说明中写着要钱钱就别问为啥不能下了鸭~