Để xác nhận nếu một chuỗi là một Twitter xử lý hợp lệ:
function validate_username($username)
{
return preg_match('/^[A-Za-z0-9_]{1,15}$/', $username);
}
Nếu bạn đang cố gắng để phù hợp với @username
trong một chuỗi.
Ví dụ: RT @username: lorem ipsum @cjoudrey etc...
Sử dụng như sau:
$string = 'RT @username: lorem ipsum @cjoudrey etc...';
preg_match_all('/@([A-Za-z0-9_]{1,15})/', $string, $usernames);
print_r($usernames);
Bạn có thể sử dụng sau này với preg_replace_callback để linkify tên người dùng trong một chuỗi.
Chỉnh sửa: Twitter cũng open sourced text libraries cho Java và Ruby để khớp tên người dùng, thẻ băm, v.v. Có thể bạn có thể xem mã và tìm các mẫu regex mà họ sử dụng.
Chỉnh sửa (2): Đây là một cổng PHP của các văn bản Thư viện Twitter: https://github.com/mzsanford/twitter-text-php#readme
Nguồn
2010-12-12 21:55:16
Lưu ý rằng các chức năng ereg * đã không còn được sử dụng như PHP 5.3.0, thay vào đó hãy sử dụng hàm preg_ *, preg_match trong trường hợp này. –
Hiển thị cho chúng tôi đầu vào, đầu ra dự kiến và đầu ra thực tế cũng sẽ giúp ích cho chúng tôi ... – npinti
Tôi tin rằng đây là bản sao của http://stackoverflow.com/questions/4766158/php-to-replace-username-with -link-to-twitter-account – Dan