/.*@([^\s@]+?)[\s@]*.*/iu
解析#话题#
/.*#([^#]+?)#.*|/iu
解析url
/((https?|ftp|gopher|news|telnet|rtsp|mms|callto):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)/ie
这三个元素在微博里很重要哦
$post_content = "@oschina和@twitter在研究用#PHP#的#正则表达式#过滤话题和对象名";
$tag_pattern = "/\#([^\#|.]+)\#/";
preg_match_all($tag_pattern, $post_content, $tagsarr);
$tags = implode(',',$tagsarr[1]);
$user_pattern = "/\@([a-zA-z0-9_]+)/";
$post_content = preg_replace($user_pattern, '<a href="http://twitter.com/${1}">@${1}</a>', $post_content );
$post_content = preg_replace($tag_pattern, '<a href="http://twitter.com/search?q=#${1}">#${1}#</a>', $post_content);
本文介绍如何使用正则表达式从微博内容中提取@昵称、#话题#及URL链接等关键元素,并通过PHP代码实现这些元素的高亮显示。
1582

被折叠的 条评论
为什么被折叠?



