php - Atom验证时报错"not well-formed"
天蓬老师
天蓬老师 2017-04-10 13:10:00
0
1
458

我在SegmentFault的rss订阅支持里使用了atom标准,我仔细阅读过这一标准,而且以前也开发过很多atom订阅的程序,所以看起来似乎没什么困难,而且开发出来在阅读器(google reader, etc.)里面也表现良好。但是当我使用w3c的feed验证时它给我报了这样一个错误(验证地址: http://validator.w3.org/feed/check.cg...)

这是一个很令人困惑的错误,因为通常not well-formed错误可能会发生在一些特殊字符没有escape的时候,但是我已经在输出之前对内容做了以下处理

function escape($string) {
    return str_replace(array('&','"',"'",'<','>'),
        array('&amp;','&quot;','&apos;','&lt;','&gt;'),
        $string);
}

所以输出的内容是不会有特殊字符的问题。我尝试把内容放在<!CDATA[]]>里面括起来,但是都无效。

更令人奇怪的是,似乎这个错误只是出现在这篇文章中(也就是只针对特定的字符),在不包涵这篇文章的feed中验证就会通过,比如: http://validator.w3.org/feed/check.cg...。

我自己怀疑是atom标准对UTF-8的编码支持有问题,或者我还有什么地方没有设置好,不知道有没有好的解决办法。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!