1、字符串的匹配与查找
(1)preg_match()
根据正则表达式的模式对指定的字符串进行搜索和匹配。
int preg_match( string pattern, string subject [, array matches [, int flags]])
//matches存储与第一个参数中的子模式的各个部分的匹配结果。
子模式:正则表达式中的子模式是使用括号括起的模式单元,数组matches中的第一个元素matches[0]保存与正则表达式pattern匹配的整体内容,而数组matches中的其他元素则按照顺序保存了与正则表达式小括号内子表达式相匹配的内容。
(2)preg_match_all()
int preg_match_all( string pattern, string subject, array matches [, int flags])
//matches存储所有的匹配结果,并且返回整个模式匹配的次数,如果出错则返回FALSE。
preg_match()在第一次匹配成功后就停止查找。
preg_match_all()则会一直匹配到最后才会停止,获取到所有相匹配的结果。
(3)preg_grep()
preg_grep()函数对数组中的元素进行匹配。
array preg_grep( string pattern, array input)
//input指定被搜索的数组。
该函数返回一个数组,其中包含了第二个参数input数组中与给定的第一个参数pattern模式相匹配的单元,preg_grep()对输入数组input的每个元素只进行一次匹配。
2、复杂字符串的替换
(1)preg_replace()
mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit])
该函数在字符串subject中匹配表达式pattern,并将匹配项替换成字串replacement。如果有参数limit,则替换limit次。
(2)preg_replace_callback()
mixed preg_replace_callback( mixed pattern, callback callback, mixed subject [, int limit])
此处使用一个回调函数(callback)来代替replacement参数。
ps:在preg_replace_callback()函数的回调函数中,建议使用单引号定义字符串,这样可以保证字符串中的特殊符号不被转义。
3、复杂字符串的分割
根据正则表达式定义的模式完成对指定字符串的分割操作。
array preg_split( string pattern, string subject [, int limit [, int flags]])