Я хочу иметь функцию, которая получает текст как ввод и возвращает текст с URL-адресами, сделанными в HTML-ссылки в качестве вывода.PHP: обнаружение URL-адресов (regexp) включает в себя разрывы строк
Мой проект заключается в следующем:
function autoLink($text) {
return preg_replace('/https?:\/\/[\S]+/i', '<a href="\0">\0</a>', $text);
}
Но это не работает должным образом.
Для ввода текста, который содержит ...
http://www.google.de/
... Я получаю следующий вывод:
<a href="http://www.google.de/<br">http://www.google.de/<br</a> />
Почему включать разрывы строк? Как я могу ограничить его подлинным URL?
Заранее благодарен!
Спасибо, это прекрасно работает для данной проблемы. Но было бы идеально, если бы другие символы, такие как «и», также были бы исключены. Должен ли я записать их в первый []? – caw
@ marco92w: Точно. Все внутри '[^ ...]' будет исключено. – Heinzi