1

您好,我正在使用 tinyMCE 编辑器,在从数据库中检索内容时遇到问题。

每当我输入这个

Lorem ipsum dolor sit amet dolor amet sit dolor ipsum.
[youtube_video_here]

它成功保存到数据库中。但是,当我尝试从数据库中显示它而不是打印下面的代码时

<iframe ....the rest of the code

它打印

&gt;iframe ...the rest of the code &lt;&gt;/iframe>

奇怪的是,它会打印其他 HTML 标签,例如

<br/> or <p>

适当地。

我在 CodeIgniter 中使用 PHP 来检索内容。

有人有什么主意吗?

4

1 回答 1

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('&lt;iframe', '<iframe', $content);
$content= str_replace('&gt;&lt;/iframe>', '></iframe>', $content);
$content= str_replace('&gt;&lt;/iframe&gt;', '></iframe>', $content);

让我知道我是否可以提供进一步的帮助。

于 2013-07-02T09:11:27.413 回答