Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在RSS描述元素中区分HTML/XHTML和纯文本_Java_Html_Rss_Rome_Atom Feed - Fatal编程技术网

Java 在RSS描述元素中区分HTML/XHTML和纯文本

Java 在RSS描述元素中区分HTML/XHTML和纯文本,java,html,rss,rome,atom-feed,Java,Html,Rss,Rome,Atom Feed,长版本: 熟悉RSS系列标准化噩梦的人可能知道 该RSS不会向您提供信息,例如“description”元素 只包含纯文本、html或xhtml 我目前使用ROME-API将各种RSS版本转换为Atom 1.0。 罗马API将很高兴 解析RSS,然后输出一个Atom提要。幸运的是,Atom能够声明摘要以包含文本、html或xhtml 例如。 RSS: http://www.schwarzwaelder-bote.de/wm?catId=79039&artId=14737088&;

长版本:

熟悉RSS系列标准化噩梦的人可能知道 该RSS不会向您提供信息,例如“description”元素 只包含纯文本、html或xhtml

我目前使用ROME-API将各种RSS版本转换为Atom 1.0。 罗马API将很高兴 解析RSS,然后输出一个Atom提要。幸运的是,Atom能够声明摘要以包含文本、html或xhtml

例如。 RSS:


http://www.schwarzwaelder-bote.de/wm?catId=79039&artId=14737088&;rss=true
分析:斯特拉恩和卡森的冬季赖特·勒切尔
img src=”http://www.schwarzwaelder-bote.de/cms_images/swol/dpa-InfoLine_rs-images/20100306/1192a_24128948.thumbnail.jpg“alt=”Schlagloch“title=”border=“0”&;nbsp&;nbsp&;nbsp;柏林(dpa)-施奈德·施奈德·贝弗里特(Von Schnee and Eis befreit)是德国的一个城市,也是德国的一个城市。。。。
变成: 原子:


分析:斯特拉恩和卡森的冬季赖特·勒切尔
http://www.schwarzwaelder-bote.de/wm?catId=79039&artId=14737088&;rss=true
img src=”http://www.schwarzwaelder-bote.de/cms_images/swol/dpa-InfoLine_rs-images/20100306/1192a_24128948.thumbnail.jpg“alt=”Schlagloch“title=”border=“0”&;国家统计局&;nbsp&;nbsp;柏林(dpa)-施奈德·施奈德·贝弗里特(Von Schnee and Eis befreit)是德国的一个城市,也是德国的一个城市。。。。
问题是
type=“text”
告诉像firefox这样的提要阅读器将摘要内容呈现为文本-->您可以看到所有html源代码


Short-version:如何检测description元素的内容是(X)HTML,以便设置正确的类型属性?

嘿,我的祖父以前读过那份报纸:)

检测HTML的一种非常原始的方法是从源代码中剥离任何标记(在PHP中,您可以使用
strip_tags()
)并查看结果是否与原始结果不同。关于RSS的混乱,您可能需要在
html\u entity\u decode()
之前和之后运行两次,以便可靠地检测到实体编码和非编码标记

通常,这应该会产生一半可靠的结果,但随后我看到了
ö

   <title>Analyse: Dem Mutigen geh<F6>rt die Urne</title>
分析:数字高程模型

这是什么样的编码方法?我以前从未见过这种情况。这当然会被(错误地)解释为HTML标记。这是原子特有的吗?

嘿,我的爷爷以前读过那份报纸:)

检测HTML的一种非常原始的方法是从源代码中剥离任何标记(在PHP中,您可以使用
strip_tags()
)并查看结果是否与原始结果不同。关于RSS的混乱,您可能需要在
html\u entity\u decode()
之前和之后运行两次,以便可靠地检测到实体编码和非编码标记

通常,这应该会产生一半可靠的结果,但随后我看到了
ö

   <title>Analyse: Dem Mutigen geh<F6>rt die Urne</title>
分析:数字高程模型

这是什么样的编码方法?我以前从未见过这种情况。这当然会被(错误地)解释为HTML标记。这是atom特有的吗?

strip\u标记是原始的,它会吃掉任何稍微有点像标记的东西(例如,
1对不起,以前从未见过像这样的“ö”编码。@er4什么服务器端语言(如果有的话)你能使用吗?编辑:啊,我忽略了
Java
标记。你可以看看一些Java HTML剥离库,我仍然认为这是最好的方法。也许有一个要剥离的标记列表,从一个有效的HTML 4标记名列表中选取。这样就不会出现像编码奇怪的
ö
这样的边缘情况。谢谢你,佩卡。我是科伦tly查看nekohtml和jtidy,看看他们是否能做到。好的。我无法使用这两种方法找到一个好的解决方案。因此,现在我只是在寻找实体,如果我找到了实体,它必须是html;-)strip_标记是原始的,并且会吃掉所有稍微类似于标记的东西(例如,
1抱歉,以前从未见过像这样对“ö”进行编码。@er4什么服务器端语言(如果有的话)你能使用吗?编辑:啊,我忽略了
Java
标记。你可以看看一些Java HTML剥离库,我仍然认为这是最好的方法。也许有一个要剥离的标记列表,从一个有效的HTML 4标记名列表中选取。这样就不会出现像编码奇怪的
ö
这样的边缘情况。谢谢你,佩卡。我是科伦我正在仔细研究nekohtml和jtidy,看看他们是否能做到这一点。好的。我无法使用这两种方法中的任何一种找到一个好的解决方案。因此,现在我只是在寻找实体,如果我找到了实体,就必须是html;-)
   <title>Analyse: Dem Mutigen geh<F6>rt die Urne</title>