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

时间:2011-12-09 19:04:58

标签: php linkedin

我正在寻找一种验证链接的方法,以确保它指向PHP中的LinkedIn公开个人资料页面。

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

10 个答案:

答案 0 :(得分:5)

尝试使用$username作为链接用户名的内容。 您还可以将$ profileurl直接设置为指定的链接,并使用str_pos

开头的$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

{{1}}将是一个布尔值,表明配置文件是否有效。

答案 1 :(得分: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支持

答案 2 :(得分:4)

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

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

<强>演示

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

答案 3 :(得分:3)

开发人员API页面http://developer.linkedin.com/

上有一些非常好的示例

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

答案 4 :(得分:3)

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

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

它包括没有架构的网址和其他答案的所有示例。您可以在http://regex101.com/r/vE8tV7

进行任何变更

答案 5 :(得分:2)

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

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

答案 6 :(得分:0)

使用正则表达式确保链接与linkedin公开个人资料所采用的表格相匹配。

答案 7 :(得分: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/

答案 8 :(得分:0)

这涵盖了大多数LinkedIn个人资料URL(Javascript RegEx):

// Generic RegEx exact match validator
export const isRegexExactMatch = (value, regexp) => {
  const res = value.match(regexp);
  return res && res[0] && res[0] === res.input;
};

const isLinkedinProfileUrl = (value) => {
  const linkedInProfileURLRegExp =
    '(https?:\\/\\/(www.)?linkedin.com\\/(mwlite\\/|m\\/)?in\\/[a-zA-Z0-9_.-]+\\/?)';
  return !!isRegexExactMatch(value, linkedInProfileURLRegExp);
};

答案 9 :(得分:0)

我有这个用于 javascript 的 Linkedin 的所有类型的 URL

export const isValidLinkedinUrl = (url) => {
  return /(https?:\/\/(www.)|(www.))?linkedin.com\/(mwlite\/|m\/)?in\/[a-zA-Z0-9_.-]+\/?/.test(url);
};

只有正则表达式

/(https?:\/\/(www.)|(www.))?linkedin.com\/(mwlite\/|m\/)?in\/[a-zA-Z0-9_.-]+\/?/