繁体   English   中英

js转义特殊字符

[英]Js escape special characters

我总是将非 ASCII 字符(例如àñé )转义为 HTML 实体( à agrave; 、 &entilde;é ),即使我使用的是字符集 UTF-8 (仅用于文本编辑器支持和)。

我的问题是我将所有文本保留在外部 PHP 文件中以用于多语言目的。

当我必须转义必须提醒的字符串时,问题就来了:

<button onclick="alert('&agrave;&egrave;&igrave;&ograve;&ugrave;')">Click me</button>输出: àèìòù ,

而这个<script>alert("&agrave;&egrave;&igrave;&ograve;&ugrave;")</script>输出: &agrave;&egrave;&igrave;&ograve;&ugrave; .


这是什么原因?

由于我也想在第二个示例中转义字符,我怎么能以两个示例都支持的方式做到这一点?

这些转义字符只能由 HTML 读取。

如果您想在 JS 代码中处理它们(尽管使用 JQuery),那么一种快速而肮脏的方法是将它们添加到一个元素并读取 output,否则如果您只想在某处显示您的 Z78E6221F6393D1356681DB398D,那么它很容易: )

请参阅以下两个示例:

 var myString = "&agrave;&egrave;&igrave;&ograve;&ugrave;"; 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM