【问题标题】:Purify Embedding YouTube Videos method in C#在 C# 中净化嵌入 YouTube 视频方法
【发布时间】:2011-02-02 13:50:23
【问题描述】:

如何看待 C# 中的“purify”嵌入 YouTube 视频标记的方法?

所以方法输入是:

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/gtNlQodFMi8&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/gtNlQodFMi8&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>

输出:

<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/gtNlQodFMi8">
<param name="movie" value="http://www.youtube.com/v/gtNlQodFMi8" />

YouTube 嵌入的视频标记存在问题,因为内联样式(宽度、高度)并且不是 XHTML 有效的。

【问题讨论】:

    标签: c# youtube


    【解决方案1】:

    好吧,您总是可以编写一个 C# 方法,该方法将在给定特定输入的情况下输出您想要的代码,在本例中是对象的 XML,然后解析它并提取您想要的位并构建您的代码并输出它,然后从 aspx 页面中,您只需使用服务器代码调用它,就像这样

    &lt;% MyYoutubeUtils.ShowEmebddedVideo("&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/gtNlQodFMi8&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/gtNlQodFMi8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;") %&gt;

    或类似的东西。

    好吧,我不是 100% 确定语法,但这应该让你开始。

    public static string ShowEmbeddedVideo(string youtubeObject)
    {
        var xdoc = XDocument.Parse(youtubeObject);
        var returnObject = string.Format("<object type=\"{0}\" data=\{1}\"><param name=\"movie\" value=\"{1}\" />",
            xdoc.Root.Element("embed").Attribute("type").Value,
            xdoc.Root.Element("embed").Attribute("src").Value);
        return returnObject;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 2012-06-25
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 2011-08-10
      • 2011-02-01
      • 2012-01-06
      相关资源
      最近更新 更多