Xml RSS未使用CDATA中的空格进行验证

Xml RSS未使用CDATA中的空格进行验证,xml,rss,Xml,Rss,我有一个创建RSS XML的第三方应用程序。CDATA文本中存在空格,导致验证失败 <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Title</title> <link>http://www.example.com/</link> <description>Description</desc

我有一个创建RSS XML的第三方应用程序。CDATA文本中存在空格,导致验证失败

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Title</title>
<link>http://www.example.com/</link>
<description>Description</description>
<image>
    <title>Title</title>
    <url><![CDATA[http://www.example.com/some image/image.jpg]]></url>
    <link>http://www.example.com/</link>
</image>
<item>
    <title>Item title</title>
    <link>http://www.example.com/</link>
    <description>Description</description>
</item>
</channel>
</rss>
我无法控制包含CDATA的文本。但我可以确认,当直接从浏览器访问时,有问题的URL会将我带到图像。我得到的错误是URI中的无效字符,当我在服务器上手动编辑文件以删除RSS验证的空间时


对空间%20进行编码似乎有效。但我不知道该怎么做。我是否可以将XML输出更改为PHP,并在加载url时由服务器对其进行编码?

转换为PHP并使用rawurlencode完成工作,而不是使用urlencode将空格替换为+

不要忘记将文件类型更改为php,并回显服务器呈现的所有/任何需要的文本

<? php echo '
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Title</title>
<link>http://www.example.com/</link>
<description>Description</description>
<image>
    <title>Title</title>
    <url><![CDATA[http://www.example.com/';?><?php echo rawurlencode('some image/image.jpg');?><?php echo ']]></url>
    <link>http://www.example.com/</link>
</image>
<item>
    <title>Item title</title>
    <link>http://www.example.com/</link>
    <description>Description</description>
</item>
</channel>
</rss>'?>