楼主代码有问题。应该写成这样。
表达式必须被括起来。可以使用#也可以用/也可以用别的ascii字符。被使用作为定界符的ascii字符如果在表达式中出现,那么,必须用\转义。建议多看看正则表达式的相关介绍
echo ereg_replace('#;#i',';','保护');
表达式必须被括起来。可以使用#也可以用/也可以用别的ascii字符。被使用作为定界符的ascii字符如果在表达式中出现,那么,必须用\转义。建议多看看正则表达式的相关介绍
echo ereg_replace('#;#i',';','保护');
很高兴得到您的指点.谢谢.
echo ereg_replace('#;#i',';','保护');
//好像不行,
中文的;号应该不算定符.
上面的表达式无法替换分号(;),
echo ereg_replace('#;#i',';','保护;人');//结果为:保护;人
$arr[0]的每一个元素要么是一个宽字符,要么是一个基本ascii字符
所以后继的if(ereg($pattern_ary,$val))已经失去意义了,当然对于楼主的特例——规则串只是一个汉字而言还是有效的
不过,我原本也是用来解决单汉字替换的,若有两汉字以上极极少ereg_replace会出现问题.
是这样吗?
谢谢诸位!