Задать вопрос
Diversia
@Diversia

Как в PHP из строки извлечь только ссылку?

Подскажите пожалуйста, как из строки извлечь только ссылку:

текст текст https://toster.ru/question/new/?get любой текст
  • Вопрос задан
  • 1002 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
Регуляркой, например: https:\/\/[^\s]*
https://regex101.com/r/riu31t/1
UPD: правильнее так, чтобы позволить символы только из числа
разрешенных
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=`.

см. RFC 3986 (Section 2: Characters)
https?:\/\/[!#$&-;=?-[\]_a-z~]*
Ответ написан
metallix
@metallix
Backend - developer
Почему нельзя погуглить? там куча ответов
Extract URL's from a string using PHP
Ответ написан
Комментировать
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
В php есть глобальный массив $_SERVER.
А в этом массиве есть индекс "QUERY_STRING", в котором содержится данные, переданные в адресе после "?"
Есть ещё "HTTP_HOST", в котором содержится имя домена.
Куча всего есть, перейдите по ссылке и посмотрите, что Вы можете извлечь из этого массива.
Просто на нужной странице сделайте print_r($_SERVER) и смотрите, что он Вам отдаёт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы