php preg_match帮助从URL获取facebook用户名/ id

时间:2012-10-01 19:29:41

标签: php regex facebook api preg-match

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

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

  

http://www.facebook.com/名为myUsername /

或数字ID

  

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

如果有人能通过 PHP

帮助我实现这一点,我将非常感激

2 个答案:

答案 0 :(得分:16)

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

该模式具有多种用途,因此匹配:

  1. http和https网址。
  2. 包含或不包含www前缀的网址。
  3. 包含或不包含尾随/的网址。
  4. 匹配Facebook数字ID。
  5. 匹配Facebook's rules for usernames
  6.   

    用户名只能包含字母数字字符(A-Z,0-9)或a   期间(“。”)。

答案 1 :(得分:4)

没有正则表达式:

$array = parse_url($url);
echo trim($array['path'], '/');