[英]replaces with javascript and link url
我在JavaScript多數民眾贊成中使用替換,但是當添加鏈接URL替換時,我不想更改鏈接可以做到嗎?
var someString = "The stack overflow good site http://stackoverflow.com ";
var replaced = somestring.replace(/the/g, "ing").replace(/s/g, "j");
是否可以在不更改鏈接的情況下進行更改?
您可以定義一個將url更改為某種內容的方法,然后替換您的字符串,最后將url放在之前的位置
String.prototype.replaceStr = function (reg, strOrCallBack) {
var str = this;
var links = [];
var found = true;
while(found) {
found = false;
str = str.replace(/(https?:\/\/[^\s]+)/g, function(url) {
links.push(url);
found = true;
return "(--" + (links.length-1) + "--)";
});
}
str = str.replace(reg, strOrCallBack);
return links.reduce(function (result, item, index) {
return result.replace("(--" + index + "--)", item);
}, str);
}
您可以在字符串上具有任意數量的網址,並且在調用replaceStr
方法之后,所有網址將保持不變
var somestr = "Welcome to stack overflow --> http://stackoverflow.com";
var replaced = somestr.replaceStr(/too/g, "at").replaceStr(/o/g, "0");
// "Welc0me t0 stack 0verfl0w --> http://stackoverflow.com"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.