资源描述
字符串与正则表达式,PHP基础,字符串函数,strlen,定义:intstrlen(stringstring)返回的是字节数。例子1.Astrlen()example,substr,定义stringsubstr(stringstring,intstart,intlength)strart为起始位置,从0开始,length中长度。,strstr,定义:stringstrstr(string原串,string标识)截字原字符串中,从包含标识处到结尾的字符。If标识isnotfound,returnsFALSE.例子,strpos,定义:intstrpos(stringhaystack,stringneedle,intoffset)返回needls在haystack的出现位置。从0开始,0表示开始位置。未找到返回false,省略offset则从头查起,否则从offset指定的数值算起。,explode,定义:arrayexplode(stringseparator,stringstring,intlimit)按标识拆分字符串。Separator为拆分标识,string不原煤字符串。拆分之后,得到的是数组类型。,implode,定义:stringimplode(stringglue,arraypieces)与explode正好相反,将数组变成字符串。glue为连接标识,pieces为数组。,trim,Descriptionstringtrim(stringstr,stringcharlist)str为在处理的字符串;charlist为要去掉的内容。默认为去空格及rtn。(ASCII32(0 x20),anordinaryspace.t(ASCII9(0 x09),atab.n(ASCII10(0 x0A),anewline(linefeed).“r”,str_pad,str_pad补充字符串;?str_repeat重复字符串Thiswilloutput-=-=-=-=-=-=-=-=-=-=.,strtoupper,定义stringstrtoupper(stringstring)转为大写。例子strtolower(stringstring)转为小写,用法与上同。,str_replace,定义:mixedstr_replace(mixedold,mixednew,mixedstring,int/是何物?,strtr,定义:stringstrtr(stringstr,arrayreplace_pairs)字符串翻译式替换hi,hi=hello);echostrtr(hiall,Isaidhello,$trans);?结果:helloall,Isaidhi,strrev,定义:stringstrrev(stringstring)字符串反转例子,正则表达式,正则表达式介绍PHP中的正则表达式正则表达式语法,什么是正则表达式,正则表达式(regularexpression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。应用范围:表单验证、数据验证、字符替换等。如判断某个邮件地址是否正确。Abc?如何写程序?PHP中有两种形式的正则表达式:一种是“POSIX扩展”正则表达式,另一种是“Perl兼容”正则表达式。他们的语法稍微不同,但他们实现的功能都是相同的。本节将介绍如何使用Perl兼容正则表达式,因为这种形式更加强大,而且是二进制安全的。所有的语言,如、javascript都支持正则表达式。,正则和php,正则表达式的构成:普通字符(例如字符a到z)如:a-za|b特殊字符(称为元字符)如:w*等等。Php中正则表达式的写法:“/expression/”,php中两个函数,字符匹配:ereg()preg_match();1、如果匹配,返回1,也就是true,否则返回0,也就是false.2、preg_match()是ereg()的替代方案,preg_match()速度更快。$aa=preg_match(/hi/,fdfhi,china);echo$aa;/1字符替换:ereg_replace()preg_replace()echopreg_replace(“/hi/i”,“zuoyefeng”,“HI,chinaphp”);/zuoyefeng,czuoyefengnaphpi表示不区别大小写,常见元字符列表,常用元字符符号,(1)“”插入符/first/表示检测字符串是否以first开头(2)“$”美元符/end$/表示检测字符串是否以end结尾(3)”.”点号。点号是用来匹配除了换行符之外的任意字符/e.d/表示检测字符串是否匹配字符e加一个任意字符和字符d(4)”-”短横线。短横线被称为范围界定字符/0-9/表示字符串是否匹配任何数字0-9非数字,(5)”|”管道元字符/(a|b)/表示字符串含有字符a或字符b(6)n,m这里的n和m都是正整数。匹配至少n个最多m个前面的字符。例如:/a1,3/不匹配“andy”中的任何字符,但匹配“candy,”中的a,“caandy,”中的前面两个。,常用元字符字符,w意义:匹配所有的数字和字母以及下划线,等价于A-Za-z0-9_。例如:/w/匹配apple,中的a,.28,中的5和3D.中的3。W意义:匹配除数字、字母外及下划线外的其它字符,等价于A-Za-z0-9_。例如:/W/或者/$A-Za-z0-9_/匹配“50%.”中的%。d匹配一个数字字符。等价于0-9。,D匹配一个非数字字符。等价于0-9。$pattern=“/aa/i”;i表示不区别大小写n意义:匹配一个换行符r意义:匹配一个回车符,手机号码的验证,邮件地址的验证,functioncheckmail()$str=$_POSTmail;$check=preg_match(“/a-zA-Z0-9_-+a-zA-Z0-9_-+.a-zA-Z0-9_-2,4$/,$str);if($check)echo邮件地址正确;elseecho邮件不正确!;,以上验证保证了邮件地址只能是:SdfdAbc类似的的格式,作业:,1、验证生日2、将手机号的第5位到第8位替换成*号3、验证人民币格式将上述验证,均写在MyCheck类中,定义为三个方法,以备后用。,
展开阅读全文