Регулярные выражения и Utf-8, /b

imbalance
На сайте с 03.03.2007
Offline
240
840

Может кто подскажет,

чем можно заменить /b в регулярках, чтобы определить начало и конец слов.

С кирилицей в UTF ну никак не работает

[Удален]
#1

Задача, конечно, совершенно не ясна...

Может быть можно использоваться \s для определения любого пробельного символа?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#2

Я поднимал уже этот вопрос на форуме. Решение так и не нашли, какой-то глюк внутрсистемный.

Самый быстрый вариант это iconv to cp1251 обрабатывать регуляркой и обратно в utf-8

Это сэкономит кучу времени вам.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
imbalance
На сайте с 03.03.2007
Offline
240
#3

спасибо, попробовал, переводит.

Но, блин, /b все равно не отрабатывает

например:

$var = preg_replace("/\b".$line."\b/","",$var);

---------- Добавлено 23.08.2014 в 11:00 ----------

Может кому пригодится,

вот один из рабочих вариантов:

$var = preg_replace("|(?<!\pL)".$line."(?!\pL)|is","",$var);

siv1987
На сайте с 02.04.2009
Offline
427
#4

cp1251 (windows, php 5.3.17)

/\b(text)\b/

/(?<!\S)(text)(?!\S)/

/(?:^|\s)(text)(?:$|\s)/

utf8 (windows, php 5.3.17)

/\b(текст)\b/u

/(?<!\S)(текст)(?!\S)/u

/(?<!\pL)(текст)(?!\pL)/u

/(?:^|\s)(текст)(?:$|\s)/u

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий