0

次の文字列があります-

<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")
4

1 に答える 1

1

正規表現を検索:src=(['"])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)
置き換え:src=\1\2?wmode=transparent
ここで説明されたデモ: http://regex101.com/r/bK8hC6

注: これにより、youtube.comyoutu.beドメイン名の両方が許可されます

アップデート:

実装:

Imports System.Text.RegularExpressions

...

Dim output As String = Regex.Replace(test, 
    "src=(['"])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)", 
    "src=\1\2?wmode=transparent")
于 2013-03-21T18:07:51.667 に答える