SimpleMDE - Markdown для встраивания видео с Youtube
Я использую SmpleMDE в качестве редактора WYSIWYG и библиотеку Parsedown для анализа уценки и преобразования ее в HTML.
<?php echo $this->parsedown->text($post->content); ?>
Все работает нормально, единственная проблема заключается в том, что я хочу показать YouTube видео в контенте, добавив встроенный <iframe>
,
Согласно этому ответу Youtube видео и текст рядом друг с другом в Markdown я могу просто добавить YouTube <iframe>
прямо к моему содержанию, однако вывод показывает, что код html избежал
<p><iframe width="560" height="315" src="<a href="https://www.youtube.com/embed/7GqClqvlObY">https://www.youtube.com/embed/7GqClqvlObY</a>" frameborder="0" allowfullscreen></iframe></p>
Содержимое в базе данных хранится так
Lorem ipsum .....
<iframe width="560" height="315" src="https://www.youtube.com/embed/7GqClqvlObY" frameborder="0" allowfullscreen></iframe>
Lorem ipsum .....
Как я могу это исправить, чтобы встраиваемый код с YouTube отображался правильно?
1 ответ
Поскольку проблема заключается в том, что строки хранятся в базе данных как экранированные, попробуйте следующее:
<?php echo $this->parsedown->text(htmlspecialchars_decode($post->content); ?>
Кроме того, взгляните на руководство, вам может потребоваться добавить флаг в зависимости от того, как ваши строки закодированы / экранированы.