嗨,我今天的問題是使用正則表達式來解析URL。我想先將任何YouTube網址轉換爲嵌入視頻,然後將剩餘的網址(只是常規鏈接)轉換爲href鏈接。我已經得到了這兩個工作,我的問題是,我已經得到了YouTube的網址轉換後的第二個正則表達式替換了YouTube上的視頻,所以我需要做的是忽略iframe標籤理想。我會第一個承認我在正則表達式中非常可怕,所以我會非常感謝一些幫助,我認爲對於那些有正則表達式的人來說這不會太困難。使用Youtube和非Youtube鏈接解析正則表達式URL
乾杯, 喬丹
<script type="text/javascript">
function linkifyYouTubeURLs() {
//replaces youtubeurls with iframe
var re = /https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[?=&+%\w-]*/ig;
document.getElementById('CPH_Main_postContent').innerHTML = document.getElementById('CPH_Main_postContent').innerHTML.replace(re, '<br><iframe title="YouTube video player" class="youtube-player" type="text/html" width="425" height="350" src="http://www.youtube.com/embed/$1" frameborder="0"> </iframe><br>');
//replaces urls with links
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
document.getElementById('CPH_Main_postContent').innerHTML = document.getElementById('CPH_Main_postContent').innerHTML.replace(exp, "<a href='$1'>$1</a>");
}
非常感謝Mikhail,它完美地解決了它!你是一個拯救生命的人,希望我能給你買一瓶啤酒! – 2013-03-12 06:54:35