将句点替换为 HTML 字符

Replace a period with HTML character

本文关键字:HTML 字符 替换 句点      更新时间:2023-09-26

我的一些代码有问题。我输入了一个输入,段落中的文本使用 <mark> 突出显示。但是当我添加一个句点来突出显示所有句点时,代码吓坏了,给了我实际的 html 代码,并且有随机的突出显示。所以我尝试添加一个替换器来更改句点。现在它不会惊慌失措,但不会突出显示任何东西。这是我尝试将句点替换为 html 字符编号 ( &#46; 的代码):

var i = document.getElementById("Bar").value;
var inpu = $.trim(i);
var inp = inpu.replace(".", "&#46;");
var SearchReq = new RegExp("(''b" + inp + "''b)", "gim");
var Notes = document.getElementById("NoteHolder").innerHTML;
var after = Notes.replace(SearchReq, "<mark class=" + ColorOptionReady + ">$1</mark>");
document.getElementById("NoteHolder").innerHTML = after;

代码有什么问题?(我尝试删除正则表达式中的"''b",但这并没有解决它。

.替换为''.(转义它,''将字符串传递给 RegExp 时需要反斜杠来保留反斜杠):

var inp = inpu.replace(".", "''.");

您错误的原因是.字符在正则表达式中具有特殊含义,因此您必须在传递给 RefExp 之前对其进行转义。

有关详细信息,请参阅正则表达式中的特殊字符含义。

祝你好运)!