V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lanjz
V2EX  ›  PHP

在用 xmlrpc 发布 wp 内容时候发现 xml_parser 解析 xml 把 html 标签过滤掉了

  •  
  •   lanjz · 2016-09-13 16:37:58 +08:00 · 1224 次点击
    这是一个创建于 2994 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在使用 xmlrpc 给 wp 发布内容时,遇到 html 被过滤了。

    奇怪的是,我在自己电脑进行测试的时候是正常的,用 win10 ubuntu 子系统的 php7 ,和直接 windows 下的 php5.6 都是正常,但是在云 vps ,就会有 html 被过滤的问题。

    wordpress 目录里面,问题已经定位到了 wp-include/class-IXR.php => IXR_Message这个类。 在 IXR_Message::cdata 方法调用时候 vps 上的 html 标签则被过滤了。

    测试的 xml 内容:

    <?xml version='1.0'?>
    <methodCall>
    <methodName>wp.newPost</methodName>
    <params>
    <param>
    <value><int>0</int></value>
    </param>
    <param>
    <value><string>olive</string></value>
    </param>
    <param>
    <value><string>huangolive</string></value>
    </param>
    <param>
    <value><struct>
    <member>
    <name>post_content</name>
    <value><string>asdf &lt;&lt;&lt;&lt;&lt;&lt;&lt;p&gt;&lt;b&gt;&amp;gt;&amp;lt;aaa&lt;/b&gt;&lt;/p&gt;asdf</string></value>
    </member>
    <member>
    <name>comment_status</name>
    <value><string>open</string></value>
    </member>
    <member>
    <name>post_title</name>
    <value><string>test</string></value>
    </member>
    <member>
    <name>post_status</name>
    <value><string>publish</string></value>
    </member>
    <member>
    <name>post_type</name>
    <value><string>post</string></value>
    </member>
    <member>
    <name>terms</name>
    <value><nil/></value></member>
    </struct></value>
    </param>
    </params>
    </methodCall>
    

    在自己电脑解析出来的 post_content为:

    string(40) "asdf <<<<<<<p><b>&gt;&lt;aaa</b></p>asdf"
    

    在 vps 上面解析出来的 post_content为:

    string(24) "asdf pbgt;lt;aaa/b/pasdf"
    

    不知这种情况是不是哪个地方默认配置导致的?

    有谁知道的话,希望能够帮助下,谢谢。

    第 1 条附言  ·  2016-09-13 18:09:05 +08:00

    刚才发现是因为在vps上不认识&lt;这类文字标记的实体,换成&#60;后可以转换出来

    第 2 条附言  ·  2016-11-09 09:33:22 +08:00
    @Livid 这个主题没人关注,我也自己解决了,可以帮忙删除么。谢谢
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   874 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:33 · PVG 04:33 · LAX 12:33 · JFK 15:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.