此脚本应该采用链接列表,通过更改某些单词来转换一些链接,并消除包含特定字符串的其他单词。
第一部分没问题。我需要帮助第二个。这条线
x = x.replace(/^.+/category/.+$/mg, "");
即使我们用*更改+,也不起作用。我在这里使用了来源(1& 2)。所以,帮助菜鸟。
<!DOCTYPE html>
<html>
<body>
<h3>Instert your links</h3>
input:<br>
<textarea id="myTextarea">
http://example.com/ad/123.html
http://example.com/ad/345.html
http://example.com/ad/3567.html
http://example.com/category/fashion.html
http://example.com/ad/8910.html
http://example.com/category/sports.html
</textarea>
<button type="button" onclick="myFunction()">Get clean links</button>
<p id="links"></p>
<script>
function myFunction() {
x = document.getElementById("myTextarea").value;
x = x.replace(/http:\/\/example.com\/ad\//g, "http://example./com/story/");
x = x.replace(/\n/g,"</br>");
x = x.replace(/^.+/category/.+$/mg, "");
document.getElementById("links").innerHTML = x;
}
</script>
</body>
</html>
答案 0 :(得分:1)
我认为你需要逃避正斜杠,因为你也将它们用作正则表达式分隔符。
x = x.replace(/^.+\/category\/.+$/mg, "");
答案 1 :(得分:1)
假设您要在<p>
中删除包含类别的行中的这些行。
将您的功能更改为
function myFunction() {
x = document.getElementById("myTextarea").value;
var lines = x.split("\n").filter( function(val){
return val.indexOf( "category" ) == -1;
});
document.getElementById("links").innerHTML = lines.join( "<br>" );
}