我在网上找到了这段代码。它需要一个句子,并使每个单词都与这个单词相关联。但它也有弱点:如果一个句子中有 HTML,这个脚本不会删除它。
例如:它替换了'<b>asserted</b> ' 与 ' http://www.merriam-webster.com/dictionary/<b>asserted</b> '
能否请您告诉我要更改此代码中的哪些内容以更改'<b>asserted</b> ' 到 ' http://www.merriam-webster.com/dictionary/asserted '.
var content = document.getElementById("sentence").innerHTML;
var punctuationless = content.replace(/[.,\/#!$%\؟^?&\*;:{}=\-_`~()”“"]/g, "");
var mixedCase = punctuationless.replace(/\s{2,}/g);
var finalString = mixedCase.toLowerCase();
var words = (finalString).split(" ");
var punctuatedWords = (content).split(" ");
var processed = "";
for (i = 0; i < words.length; i++) {
processed += "<a href = \"http://www.merriam-webster.com/dictionary/" + words[i] + "\">";
processed += punctuatedWords[i];
processed += "</a> ";
}
document.getElementById("sentence").innerHTML = processed;
请您参考如下方法:
这个正则表达式/<{1}[^<>]{1,}>{1}/g 应该用空格替换两个 <> 和括号本身之间的字符串中的任何文本。这个
var str = "<hi>How are you<hi><table><tr>I<tr><table>love cake<g>"
str = str.replace(/<{1}[^<>]{1,}>{1}/g," ")
document.writeln(str);
会回馈“你好吗我喜欢蛋糕”。
如果你粘贴这个
var stripHTML = str.mixedCase(/<{1}[^<>]{1,}>{1}/g,"")
就在这下面
var mixedCase = punctuationless.replace(/\s{2,}/g);
并在之后的行中将 mixedCase 替换为 stripHTML,它可能会起作用
