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

问题描述 投票:8回答:8

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

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

php linkedin
8个回答
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);

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


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/

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

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

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

编辑 - 添加了https支持


4
投票

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

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

演示

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


3
投票

在开发人员API页面http://developer.linkedin.com/上有一个很好的例子

这个http://developer.linkedin.com/plugins/member-profile-plugin可能是你想要的。


3
投票

我使用另一个更宽松的正则表达式:

^(http(s)?:\/\/)?([\w]+\.)?linkedin\.com\/(pub|in|profile)

它包括没有squeme的URL和来自其他答案的所有样本。你可以在这里做任何变化http://regex101.com/r/vE8tV7


2
投票

这是我在我的网站上使用的经过测试的正则表达式。我适合当前存在的所有变化。

var linkedin=/(https?)?:?(\/\/)?(([w]{3}||\w\w)\.)?linkedin.com(\w+:{0,1}\w*@)?(\S+)(:([0-9])+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;

0
投票

使用正则表达式确保链接与linkedin公共配置文件采用的表单相匹配。


0
投票

我只是使用了以下正则表达式:

http(s)?:\/\/([w]{3}\.)?linkedin\.com\/in\/([a-zA-Z0-9-]{5,30})\/?

根据最新的Linkedin文档,自定义配置文件网址可以包含5到30个字母或数字。

它适用于以下网址列表:

https://www.linkedin.com/in/your-profile-5-30-length/
https://linkedin.com/in/your-profile-5-30-length/
http://www.linkedin.com/in/your-profile-5-30-length/
http://linkedin.com/in/your-profile-5-30-length/
© www.soinside.com 2019 - 2024. All rights reserved.