javascript - 如何转换非 HTML 4 实体来显示?

标签 javascript python html entities

我有一些不属于 standard ones 的实体例如 şč

有没有办法将这些实体转换为 UTF-8 字符(在我的示例中为 čş)或可以在 html 中显示的其他内容页?

我想用 javascript 来完成,但如果不可能,我可以用 python 在服务器端预处理内容。

谢谢

最佳答案

一种解决方案是在文档正文中进行正则表达式搜索并替换这些实体。示例:

<html>
<head>
<script language="javascript">

window.onload = function(){
    var entities = [{entity:"scedil", char:"č"},
                    {entity:"ccaron", char:"ş"}]; // array of entities to replace

    for (var i in entities){
        var regex = new RegExp("(\&amp;|\&)"+entities[i].entity+";", "ig");
        document.body.innerHTML = document.body.innerHTML.replace(regex, entities[i].char);
    }
}

</script>
</head>
<body>
These entities will be replaced: &scedil; and &ccaron;
</body>

但是,最好将这些字符替换为正确的 HTML 实体。这些将在所有标准浏览器上正确显示。例如:

...
var entities = [{entity:"scedil", char:"&#269;"},
                {entity:"ccaron", char:"&#351;"}]; // array of entities to replace
...

但是,我认为最好在服务器端而不是在 JavaScript 中执行此操作。在这种情况下,服务器端脚本将有效地执行与上述相同的操作,但在客户端收到文本之前而不是客户端在之后执行此操作。在服务器端执行此操作可以避免页面加载后文本明显“固定”。

关于javascript - 如何转换非 HTML 4 实体来显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6616330/

相关文章:

javascript - 通过单击 JQuery 中的另一个 div 向左/向右和向上/向下移动 Div

javascript - WebGL:将 8 位灰度图像加载到纹理时图像无效

python - optparse 的模糊选项错误

javascript - 在 JavaScript 变量中分配段落值

python - Django (1.10) 覆盖 AdminSite

php - 条件内联 div 样式(帮助!)

HTML CSS 边框帮助

javascript - 使用 Douglas Crockford 的函数继承在 Javascript 中调用基方法

javascript - 如何使用jquery选择父div高度400px之后的元素?

javascript - 元素中的 Kendo 模板 onClick 不起作用