如何验证LinkedIn公开个人资料网址

maa*_*det 8 php linkedin

我正在寻找一种方法来验证链接,以确保它指向PHP中的LinkedIn公共配置文件页面.

我有一个网站,我希望我的用户能够在我的网站上的个人资料中分享他们的LinkedIn个人资料.

Ale*_*lex 5

尝试这样的东西$username是链接用户名.您也可以将$ profileurl直接设置为给定的链接,并str_pos通过http://www.linkedin.com/in/开始验证

$profileurl = "http://www.linkedin.com/in/".$username;

$fp = curl_init($profileurl);
$response = curl_exec($fp);
$response_code = curl_getinfo($fp, CURLINFO_HTTP_CODE);
$validprofile = ($response_code == 200);
Run Code Online (Sandbox Code Playgroud)

$validprofile 将是一个布尔值,指示配置文件是否有效.

  • 不要忘记`/ in/username`只有在用户选择了自定义网址时才会忘记.否则它看起来更像`/ pub/fname-lname-etc/4/72/8a0` (7认同)

Kee*_*ker 5

我发现了个人资料网址的多种方式:

http://uk.linkedin.com/pub/some-name/1/1b3/b45/
http://nl.linkedin.com/pub/other-name/11/223/544
http://www.linkedin.com/in/aname/
http://www.linkedin.com/in/another-name
http://linkedin.com/in/name
http://nl.linkedin.com/in/name
http://nl.linkedin.com/in/name/
Run Code Online (Sandbox Code Playgroud)

我用这个正则表达式来描述它:

^https?://((www|\w\w)\.)?linkedin.com/((in/[^/]+/?)|(pub/[^/]+/((\w|\d)+/?){3}))$
Run Code Online (Sandbox Code Playgroud)

这不是严格的严格,但它让我回家.

编辑
- 添加了https支持


小智 5

以下表达式将帮助您处理所有模式:

((https?:\/\/)?((www|\w\w)\.)?linkedin\.com\/)((([\w]{2,3})?)|([^\/]+\/(([\w|\d-&#?=])+\/?){1,}))$
Run Code Online (Sandbox Code Playgroud)

演示

https://regex101.com/r/oT7iM2/5