2

我有一个所见即所得的编辑器 (TinyMCE) 可以将博客文章添加到我的网站。如果我只是写一个相当正常的段落:

<p><strong>Hello world!</strong></p>

它输出就好了。但是,如果我尝试一些额外的 HTML,例如链接和下划线,我的编辑器会踢出以下内容,这些内容在打印到屏幕时不起作用或看起来不正确:

<p>This is some test <span style=\"text-decoration: underline;\">content</span> with <a href=\"\\&quot;\\\\&quot;http:/www.google.com\\\\&quot;\\&quot;\" target=\"\\&quot;\\\\&quot;_blank\\\\&quot;\\&quot;\">more</a> <em>tags</em> than I would <strong>normally</strong> add.</p>

这是一堆斜线和引号。我该怎么解决这个问题?有哪些方法或功能?我更关心链接而不是样式标签。任何建议都会很棒。

更新 1 我已经使用了stripslashes()来修复<SPAN>标签但没有修复A标签。

我的设置 这是我的 TinyMCE 编辑器代码:

<script>
tinyMCE.init({
    mode : "exact",
    elements : "content",
    theme : "advanced",
    plugins : "autolink,lists,spellchecker,pagebreak,advhr,advlink,iespell,inlinepopups,"
    + "print,noneditable,visualchars,nonbreaking,xhtmlxtras",
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,bullist,"
    + "numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_buttons4 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_resizing : true,
    width: "100%",
    height: "425"
});
</script>

然后通过 AJAX 将 textareas 内容发布 (POST) 到另一个页面,然后按原样存储到数据库中。当我从我的数据库中将这个所见即所得的 HTML 打印到页面上时,我写道:

<?php
echo stripslashes($dbResults['article_body']);
?>
4

2 回答 2

1

下面的块呢?

<?php
  echo html_entity_decode(stripslashes($dbResults['article_body']));
?>
于 2012-10-09T02:17:40.890 回答
1

“自动链接”插件显然会自行更改可能的链接,这就是为什么它被您和插件更改两次的原因。

于 2012-10-09T02:26:49.983 回答