您好我正在使用tinyMCE编辑器,并且在从数据库中检索内容时遇到问题。
每当我输入
Lorem ipsum dolor sit amet dolor amet sit dolor ipsum.
[youtube_video_here]
它成功保存到数据库中。但是,当我试图从数据库中显示它而不是打印下面的代码时
<iframe ....the rest of the code
打印
>iframe ...the rest of the code <>/iframe>
奇怪的是它会打印其他HTML标签,例如
<br/> or <p>
正确。
我在CodeIgniter中使用PHP来检索内容。
有没有人有任何想法?
答案 0 :(得分:1)
有几种方法可以实现这一目标。并非所有都适合您,所以您必须尝试,直到找到正确的解决方案。最好的方法是正确存储数据库中的内容。
变体1. TinyMCE配置。添加此行
extended_valid_elements: "iframe[src|width|height|name|align]"
此处有更多信息:extended_valid_elements
变体2.在保存到数据库之前解码此参数。使用PHP,您将执行此操作:
$content = html_entity_decode($content);
然后保存到您的数据库。
变体3.快速和肮脏。也许我应该从这开始:)
$content = str_replace('<iframe', '<iframe', $content);
$content= str_replace('></iframe>', '></iframe>', $content);
$content= str_replace('></iframe>', '></iframe>', $content);
如果我能得到进一步的帮助,请告诉我。