[英]Js escape special characters
我总是将非 ASCII 字符(例如à
、 ñ
、 é
)转义为 HTML 实体( à
agrave; 、 &entilde;
、 é
),即使我使用的是字符集 UTF-8 (仅用于文本编辑器支持和)。
我的问题是我将所有文本保留在外部 PHP 文件中以用于多语言目的。
当我必须转义必须提醒的字符串时,问题就来了:
此<button onclick="alert('àèìòù')">Click me</button>
输出: àèìòù
,
而这个<script>alert("àèìòù")</script>
输出: àèìòù
.
这是什么原因?
由于我也想在第二个示例中转义字符,我怎么能以两个示例都支持的方式做到这一点?
这些转义字符只能由 HTML 读取。
如果您想在 JS 代码中处理它们(尽管使用 JQuery),那么一种快速而肮脏的方法是将它们添加到一个元素并读取 output,否则如果您只想在某处显示您的 Z78E6221F6393D1356681DB398D,那么它很容易: )
请参阅以下两个示例:
var myString = "àèìòù"; var escaped = $('<textarea />').html(myString).text(); alert(escaped); document.getElementById("myElement").innerHTML = myString;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <span id="myElement">a</span>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.