我有一个所见即所得的编辑器(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
此后我使用了stripsashes()修复了<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发布(POST)到另一个页面,然后按原样存储到数据库中。当我从数据库将所见即所得HTML打印到页面时,我会写:
<?php
echo stripslashes($dbResults['article_body']);
?>

最佳答案

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

关于php - 用斜杠和引号转换所见即所得的输出HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12791799/

10-09 15:09