RSS转义HTML

Tha*_*tos 2 html rss

我对RSS的"转义HTML"的理解是这样的:

HTML:

1 < 3
Run Code Online (Sandbox Code Playgroud)

变成(RSS):

1 < 3
Run Code Online (Sandbox Code Playgroud)

那么,那么,应该这样:

<img src="http://somehost/someimage?a=foo&amp;b=bar" />
Run Code Online (Sandbox Code Playgroud)

成为:

&lt;img src="http://somehost/someimage?a=foo&amp;amp;b=bar" /&gt;
Run Code Online (Sandbox Code Playgroud)

(注意&amp;amp;如果是,那么这是无效的RSS吗?

<description>
    ...
    &#60;img src="http://d.yimg.com/a/p/ap/20110309/capt.f6...02-0.jpg?x=91&amp;y=130&amp;q=85&amp;sig=6oI7fIgN0izc9olfgY56vw--" />
</description>
Run Code Online (Sandbox Code Playgroud)

(此外,关闭> 是不是转义不好?)

我所遇到的上述<description>的问题是,一旦解码了第一层实体(XML)以获得<description>标签的内容,就会得到一个长CDATA,它应该是HTML.问题是<img>只有一个&,这是一个无效的实体.对于上面的大块,我得到类似的东西<img src="....?x=1&y=2" />,这是无效的HTML.

我只是看着被推到RSS中的糟糕的HTML,还是我在这里遗漏了什么?

jer*_*son 6

你需要使用CDATA部分

<description><![CDATA[ <img src="http://somehost/someimage?a=foo&amp;b=bar" /> ]]>
</description>
Run Code Online (Sandbox Code Playgroud)