我有以下字符串 -
<iframe width="425" height="349" src="http://www.youtube.com/embed/8tPnX7OPo0Q" frameborder="0" allowfullscreen></iframe>
我需要将以下文本添加到'src'字段的末尾 - ?wmode=transparent
- 以便最终的字符串如下所示 -
<iframe width="425" height="349" src="http://www.youtube.com/embed/8tPnX7OPo0Q?wmode=transparent" frameborder="0" allowfullscreen></iframe>
任何人都可以告诉我如何在asp.net中使用正则表达式进行此操作...我之前只使用正则表达式替换了文本。
我尝试了下面的代码,但我不讨厌......任何人都可以告诉我我做错了什么?
Dim test As String = "<iframe width=""425"" height=""349""
src=""http://www.youtube.com/embed/8tPnX7OPo0Q"" frameborder=""0"" allowfullscreen>
</iframe>"
Dim regex1 As Regex = New Regex("src=(['""])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)")
Dim match1 As String = regex1.Replace(test, "src=\1\2?wmode=transparent")
答案 0 :(得分:1)
查找RegEx:src=(['"])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)
替换为:src=\1\2?wmode=transparent
在此解释演示:http://regex101.com/r/bK8hC6
注意:这将允许youtube.com
和youtu.be
域名
<强>更新强>
实现:
Imports System.Text.RegularExpressions
...
Dim output As String = Regex.Replace(test,
"src=(['"])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)",
"src=\1\2?wmode=transparent")