我正在使用SmpleMDE作为我的所见即所得编辑器和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 的嵌入代码正确显示?
由于问题是字符串存储在数据库中转义,请尝试以下操作:
<?php echo $this->parsedown->text(htmlspecialchars_decode($post->content); ?>
另外,请查看手册,您可能需要根据字符串的编码/转义方式添加一个标志。