Замена в тексте хештега на ссылку php
Нужно написать функцию php с использованием регулярных
выражений, которая заменит в тексте хештеги вида #хештег
на ссылки <a href="/?tagName=хештег">#хештег</a>
Пример текста: Я люблю #футбол, #волейбол и #теннис.
function tagsToLinks($text) { // Данный пример не работает
return preg_replace('/(#)(.+)(\s?)/Uuis', '<a href="/?tagName=$2">$1$2$3</a>', $text);
}
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
Используйте
function tagsToLinks($text) {
return preg_replace('/#(\S+)/u', '<a href="/?tagName=$1">$0</a>', $text);
}
См. пример работы регулярного выражения. Подробности:
#- символ#(\S+)- подмаска №1: один и более символов, отличных от пробельных.
В шаблоне замены $0 ссылается на текст целого совпадения, а $1 — на текст первой подмаски.