我使用此代碼將YouTube網址與一個圖標放在一起,當您點擊它時,它會打開一個顯示視頻的燈箱。YouTube正則表達式替換C#破解HTML
這裏的C#代碼:
const string pattern = @"(?:https?:\/\/)?(?:www\.)?(?:(?:(?:youtube.com\/watch\?[^?]*v=|youtu.be\/)([\w\-]+))(?:[^\s?]+)?)";
const string replacement = "<a title='Click to watch the video' rel='nofollow' class='youtube-popup' href='//www.youtube.com/watch?v=$1' data-lity><span class='fa fa-play'></span>Watch</a>";
var rgx = new Regex(pattern);
var result = rgx.Replace(theinput, replacement);
if(result != null && result != "")
{
return result;
}
的代碼替換視頻的URL,並顯示圖標,但也削減它(<p class="tags"></p>
),它被削減至class='tags'>
後的HTML(這兩個段落標記不目前,正因爲如此,它在一個元素放置之前包含鏈接。
我在同一段兩個環節,當然是有他們之間的文本和空格分開進行了測試。
哪有我改變了正則表達式的工作,而不是打破這個特定的例子的HTML?
用正則表達式這樣做是非常錯誤的。爲什麼不使用HTML解析器? – spender