Определение наличия URL в строке - PullRequest
1 голос
/ 04 июня 2009

Привет, может кто-нибудь помочь мне определить, присутствует ли URL в строке с использованием PHP?

Я хочу ввести полную строку, т. Е. «Привет, пожалуйста, посетите http://domain.com/12345 сегодня» и исключить полный URL, а не только доменное имя.

Спасибо

Ответы [ 2 ]

2 голосов
/ 04 июня 2009

Вы, вероятно, хотите что-то вроде этого:

RegEx Guru: обнаружение URL-адресов в тексте

Читайте об этом и поймите компромиссы каждого подхода. Для меня \bhttp://\S+ вполне приемлемо, потому что меня не интересует угощение тех, кто помещает ссылки с пробелами (или окружает их ссылки паренами) в простой текст ... (но я не очень любезен, я думаю, )

1 голос
/ 04 июня 2009

вот пример

$str = file_get_contents('http://www.sitepoint.com');

preg_match_all('~(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)~', $str, $matches);

print_r($matches);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...