【发布时间】:2010-12-03 00:29:30
【问题描述】:
首先,在你说什么之前,我必须这样做,因为 RSS 格式不正确,但我无法最终纠正它。所以,当我尝试使用 RSS 和 XML 解析器时,它们失败了,我只有前端访问权限。但是,我非常接近,但我不知道为什么这不匹配。
Feed(它是 long 1 行字符串): http://pastebin.com/5dJhXCvf
第一个例子:
<title>(.+)</title>
我认为这对我的 just 测试很有效:
<title>"cterrorism task force" location:oregon - Google News</title>
但问题是它匹配所有内容然后作为一个匹配例如:
<title>"cterrorism task force" location:oregon - Google News</title><title>"cterrorism task force" location:oregon - Google News</title>
等于我的数组中来自 exec() 和 match() 的 1 个结果项
所以我尝试了:
<title>([\w\d\s\=\%\_\`\~\+\!\@\#\$\%\^\&\*\(\)\:\'\"\[\]\{\}\|\,\.\/]+)</title>
但这没有任何回报......有什么想法吗?
【问题讨论】:
-
Feed 的格式有什么问题?
-
如果您将其复制并粘贴到 W3C 验证器中,它将失败。 jQuery 甚至也不会尝试解析它。我也尝试过 jFeed,但也没有用。但是,如果我用文本 HEADER 调用它,它会返回正常。我只需要标题和链接,所以我想我可以解析为文本然后使用正则表达式。
-
你的角色职业少了几个角色,这对于这样的怪物来说是不可避免的。如果您想要一个匹配除尖括号以外的任何字符的字符类,请使用:
[^<>] -
朋友不要让朋友用正则表达式解析XML。
-
@orangepips 我知道,我知道,但它字面意思是给市长的,这是他给我使用的 XML。
标签: javascript xml regex parsing rss