Как проверить URL публичного профиля LinkedIn - PullRequest
8 голосов
/ 09 декабря 2011

Я ищу способ проверить ссылку, чтобы убедиться, что она указывает на страницу общего профиля LinkedIn в PHP.

У меня есть веб-сайт, и я хотел бы, чтобы мои пользователи могли поделиться своим профилем LinkedIn в своем профиле на моем веб-сайте.

Ответы [ 8 ]

5 голосов
/ 10 октября 2013

Я нашел несколько способов, которыми может выглядеть URL профиля:

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}))$

Это не строго-строго, но вернуло меня домой.

1010 * редактировать *
- Добавлена ​​поддержка https

5 голосов
/ 09 декабря 2011

Попробуйте что-то вроде этого, где $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 будет логическим значением, указывающим, действителен ли профиль.

4 голосов
/ 20 сентября 2015

Следующее выражение поможет вам со всеми шаблонами:

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

Демо

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

3 голосов
/ 28 мая 2014

Я использую другое регулярное выражение, более разрешающее:

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

Включает URL-адреса без squeme и все примеры из других ответов. Вы можете сделать любой вариант здесь http://regex101.com/r/vE8tV7

3 голосов
/ 09 декабря 2011

Там очень хорошие примеры на страницах API разработчика http://developer.linkedin.com/

Это http://developer.linkedin.com/plugins/member-profile-plugin может быть тем, что вы ищете.

2 голосов
/ 20 ноября 2013

Это проверенное регулярное выражение, которое я использую на своем сайте. Я подхожу ко всем вариантам, которые существуют в настоящее время.

var linkedin=/(https?)?:?(\/\/)?(([w]{3}||\w\w)\.)?linkedin.com(\w+:{0,1}\w*@)?(\S+)(:([0-9])+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
0 голосов
/ 22 июня 2017

Я просто использовал следующее регулярное выражение:

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

В соответствии с последней документацией Linkedin URL-адрес пользовательского профиля может содержать от 5 до 30 букв или цифр.

Работает для следующего списка URL:

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/
0 голосов
/ 09 декабря 2011

Используйте регулярное выражение, чтобы убедиться, что ссылка соответствует форме, принятой в общедоступных профилях linkedin.

...