给Blogengine.net添加插入Flash扩展

  在编辑文章的时候添加Flash总是把embed等内容过虑了,看了一下帮助原来可以写一个Extension来处理。

/// <summary>

/// sample:[flash:http://smark.nbao.net/ShowEffectSample.swf 600 400]

/// </summary>

[Extension("FlashPlayer", "1.0.0.0", "smark.nbao.net")]

public class FlashPlayer

{

 

 

    public FlashPlayer()

    {

        Post.Serving += new EventHandler<ServingEventArgs>(Post_Serving);

    }

 

 

    private void Post_Serving(object sender, ServingEventArgs e)

    {

        if (!string.IsNullOrEmpty(e.Body))

        {

         

            if (e.Location == ServingLocation.PostList || e.Location == ServingLocation.SinglePost)

            {

                string regex = @"\[flash:(http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*))(\s+)(\d*)(\s+)(\d*)\]";

                MatchCollection matches = Regex.Matches(e.Body, regex);

 

                if (matches.Count > 0)

                {

                  

 

                    string filename, width, height;

 

                    Match match = Regex.Match(e.Body, regex);

                    if (match.Length > 0)

                    {

                        filename = match.Groups[1].Value;

                        width = match.Groups[match.Groups.Count - 3].Value;

                        height = match.Groups[match.Groups.Count - 1].Value;

 

 

                        string player = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\""

                                + "id=\"ShowEffectSample\" width=\"{1}\" height=\"{2}\""

                                + "codebase=\"http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab\">"

                                + "<param name=\"movie\" value=\"{0}\" />"

                                + "<param name=\"quality\" value=\"high\" />"

                                + "<param name=\"bgcolor\" value=\"#869ca7\" />"

                                + "<param name=\"allowScriptAccess\" value=\"sameDomain\" />"

                                + "<embed src=\"{0}\" quality=\"high\""

                                + "width=\"{1}\" height=\"{2}\"  align=\"middle\""

                                + "play=\"true\""

                                + "loop=\"false\""

                                + "quality=\"high\""

                                + "allowScriptAccess=\"sameDomain\""

                                + "type=\"application/x-shockwave-flash\""

                                + "pluginspage=\"http://www.adobe.com/go/getflashplayer\">"

                                + "</embed>"

                            + "</object>";

                        e.Body = e.Body.Replace(match.Value, string.Format(player, filename, width, height));

                    }

 

                }

            }

        }

    }

 http://smark.nbao.net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值