#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.