转换WYSIWYG输出的HTML用斜杠和&报价

时间:2012-10-09 01:47:47

标签: php html wysiwyg

我有一个WYSIWYG编辑器(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>

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

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

2 个答案:

答案 0 :(得分:1)

以下街区怎么样?

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

答案 1 :(得分:1)

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