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

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

В php страницу получаю по api текст, в котором ссылки представлены в виде
http://yandex.ru
Как сделать, что бы в этом тексте ссылки выводились не прямым текстом, а именно ссылками вида
<a href="http://yandex.ru">yandex.ru</a>
  • Вопрос задан
  • 2114 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 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>';

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

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

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