5

我正在尝试从 facebook url 获取 facebook 用户名或 id,并且想知道您是否可以帮助我。我确定这只是一个简单的正则表达式函数,但我已经尝试过,但我自己似乎无法做到。

这是我一直试图从网址中获取的内容。

http://www.facebook.com/我的用户名/

或数字ID

http://www.facebook.com/ 2285652 /

如果有人能帮助我通过PHP实现这一目标,我将不胜感激

4

2 回答 2

16
preg_match('#https?\://(?:www\.)?facebook\.com/(\d+|[A-Za-z0-9\.]+)/?#',$str,$matches);

该模式是通用的,因此它匹配:

  1. http 和 https URL。
  2. URL 带或不带www前缀。
  3. URL 带有或不带有尾随/.
  4. 匹配 Facebook 数字 ID。
  5. 符合Facebook 的用户名规则

用户名只能包含字母数字字符(AZ、0-9)或句点(“.”)。

于 2012-10-01T19:32:15.177 回答
4

没有正则表达式:

$array = parse_url($url);
echo trim($array['path'], '/');
于 2012-10-01T19:33:31.603 回答