Как найти ссылки в php?

Пользователь

от pauline , в категории: PHP , 2 года назад

Как найти ссылки в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , год назад

@pauline 

Чтобы найти ссылки в строке PHP, вы можете использовать функцию preg_match_all(). Например:

1
2
3
4
5
$string = 'Это строка содержит ссылку: www.example.com';

preg_match_all('#https?://[^s()<>]+(?:([wd]+)|([^[:punct:]s]|/))#', $string, $match);

print_r($match[0]);


Этот код найдет все ссылки в строке $string и поместит их в массив $match[0].


Обратите внимание, что этот код находит только ссылки, начинающиеся с http:// или https://. Если вы хотите найти ссылки, начинающиеся с www., вам нужно будет изменить регулярное выражение.


Например:

1
preg_match_all('#(?:https?://|www.)[^s()<>]+(?:([wd]+)|([^[:punct:]s]|/))#', $string, $match);


Это регулярное выражение найдет ссылки, начинающиеся с http://, https:// или www..

Пользователь

от brook , год назад

@pauline 

Чтобы найти ссылки в PHP, можно использовать функцию preg_match_all() с регулярным выражением, которое соответствует формату ссылки. Например, следующий код ищет все ссылки в строке $string:

1
preg_match_all('#https?://[^s()<>]+(?:([wd]+)|([^[:punct:]s]|/))#', $string, $matches);


Функция возвращает все совпадения в массив $matches[0].


Или используйте функцию parse_url, которая возвращает информацию о ссылке, такую как схема, домен, путь и др.

1
2
3
$url = 'https://example.com';
$url_components = parse_url($url);
print_r($url_components);