迁移时,所有反斜杠都被去掉,特殊符号被转换为html实体

时间:2015-07-02 作者:else42.de

我正在迁移我的wordpress博客,因此使用wordpress导入器0.6.1导入了我的完整内容。(最近一次是今天(2015年7月2日)。我的mySQL服务器版本是5.1.56-community。

不幸的是,导入后,我的新博客上出现了两个问题:
1。)我所有的反斜杠都没有了。

C:\\Program Files -> C:Program Files
2.)代码区域内的一些标志(使用“SyntaxHighlighter Evolved”插件格式化)使用HTML实体进行加密,例如:。

 <  ->  &lt;   
 >  ->  &gt;    
 "  ->  &quot;    
 (...)
3.)代码区内的链接(格式为“SyntaxHighlighter Evolved”插件)被替换,例如:。

http://www.google.com  ->  <a class="linkification-ext" href="http://www.google.com" title="Linkification: http://www.google.com">http://www.google.com</a>
首先我看了一下备份。xml(由wordpress.com的导出工具创建)和所有反斜杠都显示正确<第二次我查看了数据库,发现所有反斜杠都丢失了。

导出前创建插件(https://wordpress.stackexchange.com/a/50560/75467) 这对我来说不是一个解决方案,因为主机(wordpress.com)不允许我深入系统。

2 个回复
SO网友:E. Serrano

您可能可以使用以下方法在导入时删除HTML实体筛选:

add_filter( \'force_filtered_html_on_import\' , \'__return_false\' );
如回答所示here.

SO网友:else42.de

不幸的是(就一个好的问答策略而言),所有的问题都无法解决,无法相互独立。唯一的共同点是,它们都是在我的博客从wordpress迁移之后直接发生的。转到我的自托管博客。

缺少反斜杠可能是WordPress导入器导致的问题
此问题的根本原因可能是:https://stackoverflow.com/q/12770704/1777526

解决方案我在文本编辑器中将反斜杠替换为备份中的两个反斜杠。xml我下载了“批量删除”插件,我永久删除了所有帖子和页面(!)

    将特殊字符转义为HTML实体可能是由于wordpress的导出工具造成的。com(不知道他们使用哪个插件)。由“SyntaxHighlighter Exolved”标记括起的每个文本,例如。

    [sourcecode language="text"]
    bla bla 
    [sourcecode]
    
    …按字面显示。所以&lt; 显示为&lt; 而不是<.

    解决方案

    我不知道它是否可以中断某些内容或匹配所有特殊字符,但对我来说,以下SQL清理脚本似乎工作正常:

    UPDATE wp_posts SET post_content = REPLACE(post_content, \'&amp;\', \'&\');
    UPDATE wp_posts SET post_content = REPLACE(post_content, \'&gt;\', \'>\');
    UPDATE wp_posts SET post_content = REPLACE(post_content, \'&lt;\', \'<\');
    UPDATE wp_posts SET post_content = REPLACE(post_content, \'&quot;\', \'"\');
    
    转换我代码区中的所有URL我发现,这种情况只发生在我的Firefox中,例如在Chrome上不发生。导致这个问题的是Firefox插件Linkification(版本1.3.8.)(我博客的大多数读者可能从未提及)。

    解决方案

    在Firefox中禁用Linkification插件后,我的问题消失了。

结束

相关推荐

Import External XML

我不知道从哪里开始。我想创建自定义帖子类型,它将列出客户网站上的属性。我希望这些属性从其他网站/软件提供。因此,其他网站/软件将向我的Wordpress网站发送XML文件,我希望接收该文件并将其转换为我的自定义帖子。有谁能帮我了解一下这项任务,即从哪里开始?是否需要在数据库中创建自定义表?如何捕获该XML文件?任何信息都将不胜感激。谢谢