Как загрузить содержимое базы данных в текстовое поле, если оно содержит встроенное видео, с помощью CKEditor

#php #ckeditor

#php #ckeditor

Вопрос:

У меня возникли проблемы с сохранением кода встраивания для видео с помощью 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);
 

Тем не менее, теперь отображение видео работает только тогда, когда я использую необработанное встраивание html в CKEditor вместе с кодом встраивания, предоставленным Youtube. Это не работает при простом копировании и вставке URL-адреса в текстовую область с помощью плагина Media.

Я думаю, это связано с сгенерированным кодом «oembed»

Ответ №1:

Вы не можете поместить HTML-элементы в текстовую область.

Попробуйте вместо этого использовать здесь описание ссылки.

Комментарии:

1. ну, об этом позаботится CKEditor. Я фактически удалил последние «addslashes», и теперь режим редактирования работает нормально. Тем не менее, режим отображения работает только с кодом встраивания Youtube, а не с «встроенным» кодом, сгенерированным CKEditor с помощью плагина media.