試圖在堆棧上找到答案溢出但我是一個完整的RegEx noob!正則表達式只有當URL不以http://開頭時,用字符串替換url的一部分
所有我需要(如果可能的話)是匹配在某些HTML PDF文件的URL,如果它不與http://
開始添加/content/
的開始,如果它不與http://
無能爲力開始。
試圖在堆棧上找到答案溢出但我是一個完整的RegEx noob!正則表達式只有當URL不以http://開頭時,用字符串替換url的一部分
所有我需要(如果可能的話)是匹配在某些HTML PDF文件的URL,如果它不與http://
開始添加/content/
的開始,如果它不與http://
無能爲力開始。
你想要的正則表達式可能是
http://add/content/\S+?\.pdf
它說,必須以「http://添加/內容/」,直到它在打一個PDF,然後可以有任何事情是不是空白結束。 根據您使用的語言,您需要以不同的方式應用。例如在PHP中,它將是
preg_match_all('|http://add/content/\S+?\.pdf|',$html,$matches);
if(count($matches)) {
//do stuff with the matches in the $matches array
} else {
//there were no matches of that form
}
謝謝你的回答:) – 2012-02-29 22:40:34
假設你想用javascript做到這一點。
var links = document.getElementsByTagName("a");
for(var i = 0; i < links.length; i++){
var link = links[i];
var href = link.getAttribute("href");
if(!/^http/.test(href))
{
link.setAttribute("href", "/content/" + href);
}
}
感謝您的代碼 - 我想做服務器端,以消除需要在客戶端啓用JS。謝謝你:) – 2012-02-29 22:40:22
這不需要正則表達式。你可以用你選擇的語言來檢查URL的開頭是否存在文本「http://」,如果沒有,則在其中預先加入「content /」。 – anubhava 2012-02-02 20:27:05
你還沒有指定你正在使用的平臺,你想用JavaScript或服務器端來做到這一點? – 2012-02-02 21:02:01