首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#从iframe html标签获取src?

C#从iframe html标签获取src?
EN

Stack Overflow用户
提问于 2013-02-19 11:31:54
回答 3查看 4.7K关注 0票数 0

基本上我有一个用户创建的字符串,它可能有也可能没有youtube的iframe链接。因为这是一个客户端应用程序,它不使用html标签,我有一个特殊的表单来显示youtube视频之类的东西。但是,我需要从标记中获取src,并将其周围的所有数据替换为空。它还可能有多个链接,因此需要类似regex的内容才能在全局范围内执行此操作。

示例:用户字符串:

代码语言:javascript
复制
<iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0' frameborder='0' allowfullscreen></iframe>

我希望输出的是:我希望用户只看到:http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0,然后我就可以处理剩下的内容。

任何帮助都非常感谢,因为我甚至不知道如何开始这一点。谢谢大家。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-19 12:31:41

您还可以使用以下代码

代码语言:javascript
复制
string iframe = "<iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0' frameborder='0' allowfullscreen></iframe>";

            Match matchdec = Regex.Match(iframe, @"\ssrc='\b(\S*)\b", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase);
            if (matchdec.Success) 
            {
                if (matchdec.Groups.Count > 1)
                {
                    string retval = matchdec.Groups[1].Value;
                }
            }

对于所有匹配,您可以使用:-

代码语言:javascript
复制
string iframe = "<iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0' frameborder='0' allowfullscreen></iframe>";
                iframe += "<iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/embed/newid' frameborder='0' allowfullscreen></iframe>";

                Match matchdec = Regex.Match(iframe, @"\ssrc='\b(\S*)\b", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase);
                while (matchdec.Success)
                {
                    if (matchdec.Groups.Count > 1)
                    {
                        string retval = matchdec.Groups[1].Value;
                    }
                    matchdec = matchdec.NextMatch();
                }

要替换,请添加以下行

代码语言:javascript
复制
iframe = Regex.Replace(iframe, retval, "yournewurl");

希望这能有所帮助。

票数 4
EN

Stack Overflow用户

发布于 2013-02-19 11:56:03

下面是一个正则表达式,可以帮助您开始:

代码语言:javascript
复制
(?<=src=')[^']+

注意:可能有一些边缘情况没有被考虑在内。我将把它作为操作的练习:)

票数 1
EN

Stack Overflow用户

发布于 2018-08-07 06:07:00

你可以使用下面的代码;

代码语言:javascript
复制
var source = Regex.Match(iframeStr, "<iframe.+?src=[\"'](.+?)[\"'].*?>", RegexOptions.IgnoreCase).Groups[1].Value;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14949366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档