Php tinyMCE&;wordpress提供奇数字符。。。尝试解决方案的组合

Php tinyMCE&;wordpress提供奇数字符。。。尝试解决方案的组合,php,wordpress,tinymce,Php,Wordpress,Tinymce,我正在尝试将flash视频嵌入到tinyMCE编辑器的自定义设置中。它与主WordPress one分开,但仍在WordPress管理区内 简单youtube嵌入块的输出代码如下所示: <p><img mce_src=\"../wp-content/themes/porcelain/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif\" src=\"../wp-content/themes/porcelain/tinymc

我正在尝试将flash视频嵌入到tinyMCE编辑器的自定义设置中。它与主WordPress one分开,但仍在WordPress管理区内

简单youtube嵌入块的输出代码如下所示:

<p><img mce_src=\"../wp-content/themes/porcelain/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif\" src=\"../wp-content/themes/porcelain/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif\" width=\"560\" height=\"340\" style=\"\" class=\"mceItemFlash\" title=\"&quot;allowFullScreen&quot;:&quot;true&quot;,&quot;allowscriptaccess&quot;:&quot;always&quot;,&quot;src&quot;:&quot;http://www.youtube.com/v/26Ywp6vUQMY&amp;hl=en&amp;fs=1&amp;&quot;,&quot;allowfullscreen&quot;:&quot;true&quot;\"></p>

正如你所看到的,当我不希望它

非常感谢您的帮助,我知道这是一个学童的错误。我只需要把事情弄清楚


谢谢

在启用了php功能的服务器上,当您的代码在SQL中使用数据之前转义数据时(应该这样做),通常会发生这种情况。该特性使php在加载时自动转义get和post数据。如果你再次转义它,事情就会出错——它会被双重转义,所以转义的数据会进入数据库


PHP现在已经弃用了这个功能,他们意识到这是一个障碍,造成的痛苦比节省的要多——他们试图构建安全性,但最终开发人员需要意识到并解决安全问题,而不是让他们默默地处理。我自己,我经常在stuff中包含代码,以检测是否启用了此功能,如果启用了,则在执行早期将其反转。

如果您通过$\u POST传输数据,则在启用时将其转义(现在已弃用,并自动从PHP5.4及更高版本中删除)。如果它被转义就使用,至少修复了我在wordpress中使用tinymce转义HTML时遇到的问题。

我使用了“the_editor()”和“wp_editor()”函数实现了这一点。我认为我的服务器没有启用magic quotes,因为我没有启用它,我安装了所有东西

不管怎样,我加了斜杠。。。到处都是

当我给编辑打电话时:

<?php wp_editor(stripslashes($custom_text), 'custom_text'); ?>
当我检索存储的数据时:

$custom_text = apply_filters( 'the_content', stripslashes(get_option('my_custom_text')) );

这为我解决了问题,尽管我很想知道是否还有其他办法。我以为过滤器内置了这个,我错了,但我不知道我是否还遗漏了什么。

我想你可能就在这里。我正在将数据保存到mySQL数据库中。如果是这样的话,那真的很痛苦。。。嗯。我想做的是为wordpress创建一个很好的小插件,所以我想避免接触核心文件,我也希望其他人能够在没有太多技术知识的情况下使用这个插件(实际上,没有技术知识)。。。因此,创建php.ini文件等是一项艰巨的任务。我可能不得不重新考虑如何将视频嵌入到文档中。刚刚在echo的两端进行str_替换。。。有时候答案很简单!!!应该有一种方法“正确地”修复这个问题,而不是进行循环,因为我怀疑wordpress在这方面是否真的有问题,因为它会破坏博客帖子等。在数据库中的数据出错的时候,最好以一种正确的方式修复它,同意,但时间是至关重要的有趣的是,我又遇到了这个问题,我在stackoverflow中寻找答案,并找到了自己的解决方案。幸好我从错误中吸取了教训。。
$custom_text = apply_filters( 'the_content', stripslashes(get_option('my_custom_text')) );