2

我正在尝试做

$text = preg_replace('/\bمرحبا بك\b/', 'NEW', $text);

但它不起作用,我认为这个功能不支持阿拉伯语

http://php.net/manual/en/function.preg-replace.php

4

3 回答 3

5

如果您的文本采用 UTF-8 编码,请将'u' 修饰符附加到您的正则表达式模式以支持 Unicode。

$text = preg_replace('/\bمرحبا بك\b/u', 'NEW', $text);
于 2013-07-27T14:04:07.947 回答
1

不要\b在正则表达式的末尾添加 a 。当您将代码更改为以下内容时,匹配应该可以正常工作:

 $text = preg_replace('/\bمرحبا بك/', 'NEW', $text);

您也不能\b在末尾使用,因为您要匹配的单词中有空格。\b当您尝试匹配的部分中有非单词字符时,无法匹配任何内容。

于 2013-07-27T13:57:15.040 回答
0

就拿str_replace。不需要正则表达式。

$text = 'hello bمرحبا بك world';
echo str_replace('bمرحبا بك', 'NEW', $text);
于 2013-07-27T14:03:49.250 回答