Если вы хотите заменить Unicode old pattern
на new pattern
, вы должны написать:
$text = preg_replace('/\bold pattern\b/u', 'new pattern', $text);
Таким образом, ключ здесь u
модификатор
Примечание : Ваш сервер php version
должен быть не менее PHP 4.3.5
как упомянуто здесь php.net | Модификаторы
u (PCRE_UTF8)
Этот модификатор включает дополнительные функции PCRE, несовместимые с Perl. Строки шаблона рассматриваются как UTF-8. это
модификатор доступен из PHP 4.1.0 или выше в Unix и из PHP
4.2.3 на win32. UTF-8 валидность шаблона проверена начиная с PHP 4.3.5.
Спасибо AgreeOrNot
, кто дал мне этот ключ здесь preg_replace соответствует целому слову на арабском
Я попробовал это, и это сработало в localhost, но когда я попробовал это на удаленном сервере, это не сработало, тогда я обнаружил, что php.net начинает использовать модификатор u
в PHP 4.3.5. , Я обновляю версию php и она работает
Важно знать, что этот метод очень полезен для арабских пользователей (عربي), потому что - как я полагаю - Юникод является лучшим кодированием для арабского языка, и замена не будет работать, если вы не используете модификатор u
см. следующий пример, он должен работать с вами
$text = preg_replace('/\bمرحبا بك\b/u', 'NEW', $text);