$text = 'Barak Obama #баракобама';
echo preg_replace('/(#[^\s]*)/s', '<span>/(#[^\s]*)/s</span>', $text);
Мне нужно получить из этого текст "Barak Obama #баракобама", хештег заключенный в html тег <span>, т.е. "Barak Obama <span>#баракобама</span>"
Функция возвращает Barak /(#[^\s]*)/s , не правильно написаны регулярные выражения, как правильно?
Заранее спасибо!
Спустя 7 минут, 19 секунд (3.04.2012 - 17:43) dadli написал(а):
$text = 'Barak Obama #баракобама';
echo preg_replace('/#[^\s]+/', '<span>$0</span>', $text);
Спустя 1 минута, 47 секунд (3.04.2012 - 17:45) ola_sh написал(а):
а с Utf 8 проблем не будет?
Спустя 2 минуты, 51 секунда (3.04.2012 - 17:48) dadli написал(а):
именно етаму регулярку, нет.
если хотите, для навсяки случае, добавте модификатор u
Спустя 3 минуты, 56 секунд (3.04.2012 - 17:52) ola_sh написал(а):
preg_replace('#/#[^\s]+/#u', '<span>$0</span>', $text)
вот так?
Спустя 1 минута, 41 секунда (3.04.2012 - 17:53) dadli написал(а):
$text = 'Barak Obama #баракобама';
echo preg_replace('/#[^\s]+/u', '<span>$0</span>', $text);
Спустя 1 час, 23 минуты, 54 секунды (3.04.2012 - 19:17) Игорь_Vasinsky написал(а):
Цитата |
если хотите, для навсяки случае, добавте модификатор u |
обязательно этот модификатор для юникода
Спустя 39 минут, 8 секунд (3.04.2012 - 19:56) dadli написал(а):
Игорь_Vasinsky
/#[^\s]+/
конкретно в таком шаблоне, зачем обязателно модификатор u
?
/#[^\s]+/
конкретно в таком шаблоне, зачем обязателно модификатор u
?
Спустя 7 минут, 33 секунды (3.04.2012 - 20:04) Игорь_Vasinsky написал(а):
т.к. там встречается кирилица.
_____________
С Уважением ola_sh