[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выржание, preg_replace и Utf 8
ola_sh

$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
?

Спустя 7 минут, 33 секунды (3.04.2012 - 20:04) Игорь_Vasinsky написал(а):
т.к. там встречается кирилица.


_____________
С Уважением ola_sh
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.