我试图将带有3个字符或更少的单词的任何出现转换为与字符串VVV相同的单词。
例如:for - > forVVV
我没有使用拉丁字符(UTF8),因此是MB。
我拥有的是:REGEXP将任何3个字符或更少的单词转换为wordVVV
$pattern='\b[.{1,6}]\b';
$text=mb_ereg_replace($pattern,'\0VVV',$text,'me');
我缺少什么?
这里有一个案例研究,看它抓到什么:
$text="א אב אבי אביהו מדינה שול של";
$pattern='/\b.{1,6}\b/um';
$text=preg_replace($pattern,'hhh',$text);
echo $text;
Nop,有些东西仍然是错误的,请检查问题,我添加了一个显示问题的实际代码片段。 – 2009-09-03 17:38:35
我已经编辑了ansewr以包含使用'\ pL'和'\ PL'的示例,其中使用负向预读和后退断言替代仅拉丁语的\ b'字边界检测。 – searlea 2009-09-03 19:33:57