Как выделить ссылку в тексте?

В php страницу получаю по api текст, в котором ссылки представлены в виде
http://yandex.ru
Как сделать, что бы в этом тексте ссылки выводились не прямым текстом, а именно ссылками вида
<a href="http://yandex.ru">yandex.ru</a>
  • Вопрос задан
  • 2103 просмотра
Решения вопроса 3
abler98
@abler98
Software Engineer
Самое простое решение, которое я знаю
$text = preg_replace('#(http|https)://([^\s]+)#i', '<a href="$1://$2">$2</a>', $text);
Ответ написан
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
В Javascript так
s.replace(/(https?:\/\/)([\w-]+(\.[\w-]+)+)/g, '<a href="$1$2">$2</a>');

Update: После справедливого замечания Сергей Семенко про регистр слегка дописал код. Наверняка, в Японии такое уже придумали PHP такое реализуется.
s.replace(/(https?:\/\/([\w-]+(\.[\w-]+)+))/ig, function () {
	return '<a href="' + arguments[1].toLowerCase() + '">' + arguments[2].toLowerCase() + '</a>';
});

Пример
Ответ написан
Комментировать
sivabur
@sivabur
Заблокировали просто так!
$text_link =preg_split($link, '://')[1];
echo '<a href="' ,$link, '">' ,  $text_link, '</a>';

Не проверял но смысл думаю понятен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽