PHP正则表达式ereg的问题
$wenben="hello,world";echoeregi('[a-z]*',$wenben,$b);这一段中,不是匹配了[a-z]的字符吗,不是应该可以匹配到hel...
$wenben="hello,world";
echo eregi('[a-z]*',$wenben,$b);
这一段中,不是匹配了[a-z]的字符吗,不是应该可以匹配到hello 还有world吗,为何输出的时候只有5
难道是因为中间的逗号?
但是如果用ereg_replace('[a-z]*',"TiHuan",$wenben),则可以把hello 和world都替换掉,这是两个函数的特性吗? 展开
echo eregi('[a-z]*',$wenben,$b);
这一段中,不是匹配了[a-z]的字符吗,不是应该可以匹配到hello 还有world吗,为何输出的时候只有5
难道是因为中间的逗号?
但是如果用ereg_replace('[a-z]*',"TiHuan",$wenben),则可以把hello 和world都替换掉,这是两个函数的特性吗? 展开
1个回答
展开全部
eregi 和 ereg_replace 这两个函数到5.3以后就被废弃了,可以使用preg_match, preg_replace进行替换,举个例子:
<?php
$wenben="hello,world";
print_r(preg_match('/[a-z]*/i', $wenben));
$result = preg_replace('/[a-z]*/i',"TiHuan",$wenben);
var_dump($result);
preg_replace,就是替换匹配的字符串,并返回替换后的结果。
preg_match, 就是匹配字符串,返回匹配的结果,为0或者1,当第一次匹配成功,就不继续匹配了。
这些文件函数,你都可以参考php 官方手册:
追问
哦好的,我看的书是PHP和MYSQL web 开发第四版,里面还是照旧版的讲,刚刚一查才知道要被废弃的事
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询