я пытаюсь сделать
$text = preg_replace('/\bمرحبا بك\b/', 'NEW', $text);
но его не работает, я думаю, что эта функция не поддерживает арабский
http://php.net/manual/en/function.preg-replace.php
Если ваш текст находится в кодировке UTF-8, добавьте модификатор 'u' к вашему шаблону regex для поддержки Unicode.
$text = preg_replace('/\bمرحبا بك\b/u', 'NEW', $text);
Не добавляйте a \b
в конец вашего регулярного выражения. Соответствие должно отлично работать при изменении кода:
$text = preg_replace('/\bمرحبا بك/', 'NEW', $text);
Вы также не можете использовать \b
в конце, так как в словах, которые вы пытаетесь сопоставить, есть пробел. \b
не соответствует чему-либо, если в части, которую вы пытаетесь сопоставить, есть символ без слов.
Просто возьмите str_replace . Нет необходимости в регулярном выражении.
$text = 'hello bمرحبا بك world'; echo str_replace('bمرحبا بك', 'NEW', $text);