ckeditor富文本编辑器的内容如何不在富文本编辑器中显示?

发布于 2022-09-05 06:21:00 字数 366 浏览 14 评论 0

富文本编辑器的内容保存是以字符串保存的,比如在富文本编辑器中编辑hello world,保存在数据库中的内容实际是
"<p>hello world</p>"
如果直接velocity中显示,就会显示成<p>hello world</p>。
目前我想到了两种方法:
1、在velocity中使用一个隐藏的div来保存富文本的内容,然后通过js操作来实现hello world的显示;这种方法比较复杂,页面会出现很多冗余的内容。
2、同样使用富文本来显示,通过修改富文本的工具条,边框的样式来显示,但是富文本是采用iframe来嵌套的,会出现滚动条,页面效果不好。

请问在网页中,有简单的方法来显示字符串形式的html代码吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦中楼上月下 2022-09-12 06:21:00

我是这样通过js函数来实现的,将字符串形式的html显示在前台,因为是js函数,所以也可以复用,不知道对你有没有用

function decodeHtml(s) {
    var HTML_DECODE = {
        "<": "<",
        ">": ">",
        "&": "&",
        " ": " ",
        """: "\"",
        "©": ""
        // Add more
    };

    var REGX_HTML_ENCODE = /"|&|'|<|>|[\x00-\x20]|[\x7F-\xFF]|[\u0100-\u2700]/g;

    var REGX_HTML_DECODE = /&\w+;|&#(\d+);/g;

    var REGX_TRIM = /(^\s*)|(\s*$)/g;

    s = (s != undefined) ? s : "";
    return (typeof s != "string") ? s :
        s.replace(REGX_HTML_DECODE,
        function ($0, $1) {
            var c = HTML_DECODE[$0];
            if (c == undefined) {
                // Maybe is Entity Number
                if (!isNaN($1)) {
                    c = String.fromCharCode(($1 == 160) ? 32 : $1);
                } else {
                    c = $0;
                }
            }
            return c;
        });
};
$(document).ready(function(){
    var content = $("#contentCode").html();
    console.log(content);
    $("#content").append(decodeHtml(content));
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文