【问题标题】:How to load database content to textarea when it contains embedded video using CKEditor如何使用 CKEditor 将数据库内容加载到 textarea 包含嵌入的视频
【发布时间】:2021-01-31 15:25:10
【问题描述】:

我无法使用 CKEditor 保存视频的嵌入代码。 基本上,无论是使用插件还是直接从 youtube 使用嵌入代码,我的代码在保存到数据库时都可以正常工作。当公共页面加载时,视频被正确嵌入。

然而,当我重新加载数据进行编辑时,电影并没有显示在文本区域中,即使代码在那里,如下所示:

    <textarea id="content_22" name="content_22" class="ckta" >
<div class=\"raw-html-embed\"><iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/Drzrlkjerlzj\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\">
</iframe>
</div>
</textarea>

我猜这是转义字符的问题。

我目前的策略如下,但我永远不知道我做的过度与否:

        $content = trim(stripslashes($data['paragraph']));
        $content = str_replace(CHR(10), "", $content);
        $content = str_replace(CHR(13), "", $content);
        $content = addslashes($content);

编辑:

我实际上设法通过删除最后一行来显示视频嵌入:

//$content = addslashes($content);

然而,现在只有当我在 CKEditor 中使用 Raw html 嵌入以及 Youtube 提供的嵌入代码时,视频的显示才有效。使用媒体插件简单地复制和粘贴文本区域中的 URL 时,它不起作用。

我认为这是由于生成了“oembed”代码

【问题讨论】:

    标签: php ckeditor


    【解决方案1】:

    您不能将 HTML 元素放在文本区域内。

    尝试改用enter link description here

    【讨论】:

    • 好吧,这是 CKEditor 负责处理的。我实际上删除了最后一个“addslashes”,现在,编辑模式工作正常。然而,显示模式仅适用于 Youtube 嵌入代码,不适用于 CKEditor 使用媒体插件生成的“oembed”代码。
    猜你喜欢
    • 2015-05-24
    • 2015-09-07
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多