SimpleMDE - 来自 Youtube 的 Markdown 嵌入视频

SimpleMDE - Markdown embeding videos from Youtube

我正在使用 SmpleMDE as my WYSIWYG editor and the Parsedown 库来解析降价并将其转换为 HTML。

<?php echo $this->parsedown->text($post->content); ?>

一切正常,唯一的问题是我想现身 内容中的 youtube 视频通过添加嵌入 <iframe>.

根据这个答案Youtube video and text side by side in Markdown我可以简单地将 youtube <iframe> 直接添加到我的内容中,但是输出显示 html 代码已转义

<p>&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;<a href="https://www.youtube.com/embed/7GqClqvlObY">https://www.youtube.com/embed/7GqClqvlObY</a>&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</p>

数据库中的内容是这样存储的

Lorem ipsum .....

&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/7GqClqvlObY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;


Lorem ipsum .....

我该如何解决这个问题,才能正确显示来自 youtube 的嵌入代码?

由于问题是字符串以转义方式存储在数据库中,试试这个:

<?php echo $this->parsedown->text(htmlspecialchars_decode($post->content); ?>

此外,请查看 manual,您可能需要根据字符串的情况添加标志 encoded/escaped。