在你的点点发布的文章类型中插入视频/音乐(swf)

2012.10.10 分享 7046 人浏览 2 条留言

点点轻博客很纠结的地方就是分了“文字”,“图片”,“声音”,“影像”,“链接”这5种不同类别的文章,导致想在文字类型中添加视频这一功能都不能实现。

之前我早期群里提到了短代码实现的想法,然后在昨晚看到NMTuan发布了一篇关键词自动加链接的教程,发现可以通过判断文本来实现各种功能。

然后我就想实现这个短代码功能,但是不懂js的我真心写不出,所以只能参考NMtuan的方法改动了一下,写出了以下视频/音乐插入的方法。

教程如下:

在你的代码最顶部先添加以下部分

<script type="server/javascript">
// by http://huilang.me/ 2012-10-09
var list = new Array();
list.push(['swf','<embed src="']);
list.push(['/swf','" quality="high" align="middle" width="550" height="380" allowScriptAccess="sameDomain" allowFullscreen="true" type="application/x-shockwave-flash"></embed>']);
function n_swf(str,ary,sign){
sign = sign?sign:'``';
for(var i=0;i<ary.length;i++){
var regexp = new RegExp(sign+'('+ary[i][0]+')','g');
str = str.replace(regexp,''+ary[i][1]+'');
}
return str;
}
</script>

 

其中:第4行中的width="550" height="380"为插入视屏的宽度和高度,可根据你的具体需求修改。

然后修改你的正文输出部分,以二代为例(其实我还没测试过一代)

<?= post.summary ?>
换成
<?= n_swf(post.summary,list) ?>//这个其实可以不用
<?= post.content ?>
换成
<?= n_swf(post.content,list) ?>//这个必须修改

一代引擎的修改方法貌似一代不管用

使用的时候就用以下方法

首先用``作为判断的开始符,紧接着一个“swf”文本,然后是视屏的swf地址,最后面再次加一个``作为判断开始符,紧接一个“/swf”文本

例子

``Swfhttp://player.youku.com/player.php/sid/XNDA0NzIyMjA0/v.swf``/Swf

为防止以上代码被识别,我把swf改成了Swf,一共两处,自己修改回来(ps:``符号为键盘上1的左边)

PS:如果想用别的字符代替“``”此符号,则在第6行的代码中修改。

搞定收工。

附上一个效果展示

貌似是我第一个实现点点文章类型插入视频的... 偷笑中...

看的懂这个代码的人应该知道怎么获取优酷等的swf文件地址了吧,这里就不多说了。

插入音乐的方法明天补上

<script type="server/javascript">
// by http://huilang.me/ 2012-10-27
var list = new Array();
list.push(['swf','<embed src="']);
list.push(['/swf','" quality="high" align="middle" width="550" height="380" allowScriptAccess="sameDomain" allowFullscreen="true" type="application/x-shockwave-flash"></embed>']);
list.push(['/music','" quality="high" align="middle" width="257" height="33" allowScriptAccess="sameDomain" allowFullscreen="true" type="application/x-shockwave-flash"></embed>']);//这里是音乐播放器部分
function n_swf(str,ary,sign){
sign = sign?sign:'``';
for(var i=0;i<ary.length;i++){
var regexp = new RegExp(sign+'('+ary[i][0]+')','g');
str = str.replace(regexp,''+ary[i][1]+'');
}
return str;
}
</script>

使用方法

``swfhttp://www.xiami.com/widget/0_1770815807/singlePlayer.swf``/music

同样 修改

<?= post.content ?>
换成
<?= n_swf(post.content,list) ?>

注明:本文会持续更新,且转载之后,如你的模板中没有加入我上面的代码,是实现不了播放效果的,只会有一段代码。

在这里感谢NMTuan提供的帮助。

 

下面是“乌龙”提供的方法

js代码

function jsubb(str){
str = str.replace(/\(\d{1,4}),(\d{1,4}),(.*)\[\/embed\]/gi,'<embed src="$3" quality="high" align="middle" width="$1" height="$2" allowscriptaccess="sameDomain" allowfullscreen="true" type="application/x-shockwave-flash" />');
return str;
}

使用方法

输入的时候宽,高,url
输出的时候,jsubb(post.content)

因为自定义模板失效,所以未能测试...

文章地址:http://huilang.me/text-insert-swf/

“在你的点点发布的文章类型中插入视频/音乐(swf)” 有 2 条评论

  1. 有趣啊说道:

    整个能改成播放 .mp4 类的视频吗?

回复本文

电子邮件地址不会被公开。 必填项已用*标注

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif