Observer的运用

Observer的运用

drive2me大哥在我blog(www.8drink.com)里对这篇文章留言了,我就转过来这边吧。其实这个很简单是吧,就是运用正则表,取youku之类的视频关键字URL,update到数据库时自己匹配.
大家都知道php?name=wordpress" onclick="tagshow(event)" class="t_tag">wordpress有个avideo插件用来让大家快捷贴各大视频网站的视频,在Rails里,我们可以这样实现。
创建一个Observer,内容如下(没办法发code,只能发个图片出来)


在config/environment.rb里加上启动observer的代码
config.active_record.observers = :video_observer

上面这代码就会在入数据库前将匹配视频快捷方式的代码转换为视频网站的代码。that all!

注:我测试时是过滤youku字段的,你如果要考虑body,应将相model.youku改为model.body
谢谢cclong的分享。
呵呵。
注意: 以下所加引号是为了防止转义, 使用时不需要也不能加引号.
YouTube:
["youtube" id]
其中 id 为播放页面地址
http://www.youtube.com/watch?v=fY4Epc2XSGc
中加粗斜体部分
土豆网:
["tudou" id]
其中 id 为播放页面地址
http://www.tudou.com/programs/view/Y2dE5FH-LwE/
中加粗斜体部分
QQ 视频:
["qqvideo" id]
其中 id 为播放页面地址
http://video.qq.com/videopl.htm?v=2HTaRoQGRNr
中加粗斜体部分
Mofile:
["mofile" id]
其中 id 为播放页面中论坛代码
http://tv.mofile.com/cn/xplayer.swf?v=A41L6TYX
中加粗斜体部分
UUme:
["uume" id]
其中 id 为播放页面地址
http://www.uume.com/play_zdLLLAqLedut
中加粗斜体部分
优酷:
["youku" id]
其中 id 为播放页面地址
http://v.youku.com/v_show/id_ce00XODI1ODQ3Ng==.html
中加粗斜体部分
注意: 带 = 号但是不带 00 以及 00 以前的字符
其他 Flash:
["flash" id]
注意: 以上所加引号是为了防止转义, 使用时不需要也不能加引号.