谁能破解这个推特正则表达式? [英] Who can crack this twitter regexp?
问题描述
我想从 http://search.twitter.com/search.atom?q=%23eu-jele%C4%A1%C4%A1i
主题标签位于内容中,即 RSS 提要中的标题节点.它们以 #
为前缀我遇到的问题是非英文字母(超出 a-zA-Z 范围).
如果您查看 RSS 提要,然后查看 html 源代码,我的挣扎可能会更清楚.
<title>以及更多:#eu-jeleġġi #eu-kest #ue-wybiera #eu-eleger #ue-alege #eu-vyvolenej #eu-izvoli #eu-elegir #eu-välja #eu-elect</title>
在找到我的 rexexp 匹配之前,我是否需要对标题节点做一些事情.
我的最终目标是用 Twitter 搜索 url 替换主题标签,例如http://search.twitter.com/search.atom?q=%23eu-jele%C4%A1%C4%A1i
这里有一些示例代码可以帮助您.
<预><代码><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><meta http-equiv="Content-Type";内容=文本/html;字符集=UTF-8"/><html xmlns="http://www.w3.org/1999/xhtml";xml:lang="en";lang="en"><身体><?php$title="还有更多:#eu-jeleġġi #eu-kiest #ue-wybiera #eu-eleger #ue-alege #eu-vyvolenej #eu-izvoli #eu-elegir#eu-välja #eu-elect";//这是 hashtags.org 使用的正则表达式 (http://twitter.pbwiki.com/Hashtags)$r = preg_replace("/(?:(?:^#|[\s\(\[]#(?!\d\s))(\w+(?:[_\-\.\+\/]\w+)*)+)/","<a href=\"http://search.twitter.com/search?q=%23\1\">\1</a> ", $title);echo "<p>$r</p>";$r = preg_replace("/(#.+?)(?:(\s|$))/",<a href=\"http://search.twitter.com/search?q=\1\">\1</a>", $title);echo "<p>$r</p>";//这是我想要的最终结果echo "<p><a href=\"http://search.twitter.com/search?q=%23eu-jeleġġi\>#eu-jeleġġi</a></p>";?>