gpt4 book ai didi

javascript - 将段落中的 � 替换为 JS

转载 作者:行者123 更新时间:2023-12-02 14:56:33 25 4
gpt4 key购买 nike

大家好

我对 javascript 很陌生,但很好奇用空格或网页上的任何内容替换未知字符,通过一些搜索我找到了这段代码。

var text = $('#paragraph').text();text = text.replace('0xFFFD', ' ');

最终目标只是运行一个脚本,从页面中删除所有 �。

非常感谢任何帮助,谢谢 Heaps。

最佳答案

这里有一些评论可能会给您一些指导。

如果您感兴趣的段落 ($('#paragraph')) 实际上包含 that 字符,那么您正在朝着正确的方向前进。但是,您的特定页面可能无法理解多种字符,而只是显示菱形中的问号作为替代。

例如,在下面的第一个代码片段中,三个 unicode 字符被插入到表中。第一个和最后一个是基于 unicode 表的预期字符。然而,中间行仅显示问号,因为它不知道如何表示指示的 unicode 字符。如果代码片段在不同的浏览器中表现不同,我还在这里提供了一个屏幕截图,显示了它在 Firefox v44.0.2 中的表现方式。

enter image description here

table {
border-collapse: collapse;
}
td, th {
border: solid black 1px;
padding: 0.4em;
}
<table>
<tr>
<th>Unicode</th>
<th>character represented</th>
</tr>
<tr>
<td>&amp;#x0041;</td>
<td>&#x0041;</td>
</tr>
<tr>
<td>&amp;#0;</td>
<td>&#0;</td>
</tr>
<tr>
<td>&amp;#xFFFD;</td>
<td>&#xFFFD;</td>
</tr>
</table>

如果您确实想要实际替换该问号字符,那么您编写的replace函数不正确。您只需使用字符串搜索即可替换该字符。您编写替换函数的方式实际上会查找确切的字符0xFFFD,这可能不是您想要的。相反,您应该使用正确的 unicode 表示形式。在下面的代码演示中,您可以忽略其他仅用于检索和放回 HTML 内容的内容(例如 querySelector 等)。重点关注 JavaScript 代码的第二行,它显示了如何使用正确的 unicode 表示形式查找和替换特殊字符。

更强大的是,您可以使用正则表达式来搜索和替换文本。上面的示例将仅替换它找到的字符串的第一个实例。正则表达式的作用远不止于此,但对于初学者来说,它们可以找到并替换您正在寻找的模式的所有示例。学习正则表达式的一个起点是 Mozilla Developer Network (MDN) site 。该网站对正则表达式的描述如下:“正则表达式是用于匹配字符串中的字符组合的模式。”您无需将要查找的文本放在引号之间,而是将要查找的模式放在正斜杠之间。要搜索模式的所有实例,请在模式后添加“g”(表示“全局”)。请参阅下面的代码片段进行演示。使用正则表达式您还可以做更多的事情。

var text1 = document.querySelector("#A").innerHTML;
var text2 = text1.replace('\uFFFD', 'X');
var text3 = text1.replace(/\uFFFD/g, 'X');
document.body.appendChild(document.createElement("p")).innerHTML = text2;
document.body.appendChild(document.createElement("p")).innerHTML = text3;
<p id="A">"My text is ***&#xFFFD;***&#xFFFD;***&#xFFFD;***</p>

关于javascript - 将段落中的 � 替换为 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35761032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com