Пытаюсь реализовать хэштеги. Заменить каждый хэштег на ссылку.
Есть строка
$PhotoDescrition со значением:
Здесь должно быть красивое описание фотографии с использованием
#хэштегов несолько #раз. #Реализация34 #Будь_Вкурсе
Регулярное выражение которое я использую.
preg_replace('/(^|\s)#(\w*[a-zA-Zа-яА-Я]+\w*)/', '\1<a href="/search/query=\2">#\2</a>', $PhotoDescrition);
Но русские буквы не выводятся. Может есть более точное регулярное выражение?
Мне необходимо что-бы, хештеги имели тип: Буквы, Цифры, и нижнее подчеркивание (не должно повторяться более 1 раза подряд)
https://ideone.com/QuzA3s
echo preg_replace(
'/(^|\s)#([a-zA-Zа-яёА-ЯЁ]+)/u',
'\1<a href="/search/query=\2">#\2</a>',
'just a #text #ёжик побежал'
);
Необходимо что-бы, хештеги имели тип: Буквы, Цифры, и нижнее подчеркивание (не должно повторяться более 1 раза подряд)
echo preg_replace(
'~(?:^|\s)\K#([\pL\d]*_?[\pL\d]+)(?=\s|$)~u',
'<a href="/search/query=$1">#$1</a>',
'just a #ё_жик #te-xt #ё__жик #_text побежал'
);