要验证字符串是否为有效的 Twitter 句柄,请执行以下操作:
function validate_username($username)
{
return preg_match('/^[A-Za-z0-9_]{1,15}$/', $username);
}
如果您尝试在字符串内匹配。@username
例如:RT @username: lorem ipsum @cjoudrey etc...
使用以下命令:
$string = 'RT @username: lorem ipsum @cjoudrey etc...';
preg_match_all('/@([A-Za-z0-9_]{1,15})/', $string, $usernames);
print_r($usernames);
您可以将后者与preg_replace_callback一起使用,以链接字符串中的用户名。
编辑:Twitter还为Java和Ruby开源了文本库,用于匹配用户名,哈希标签等。您可以查看代码并找到它们使用的正则表达式模式。
编辑(2):这是Twitter文本库的PHP端口:https://github.com/mzsanford/twitter-text-php#readme