【发布时间】: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”代码
【问题讨论】: