4.per正则函数
1.preg_grep函数
preg_grep(pattern,array input);
输入数组input中寻找匹配模式pattern的字串,并将所有的匹配字符串返回。返回值就是所有匹配的字符串组成的数组。
2.preg_match函数
preg_match(pattern,string subject,[array matches])
该函数在subject字符串中寻找匹配pattern的字符串。如果找到则返回一个非零值,否则返回零值。如果选用了可选项matches,那么匹配的字符串将被放到第一个元素的位置,可以用$matches[0]来读取,圆括号匹配的结果也按顺序放在这个数组中,第一个是$matches[1],第二个是$matches[2],依次类推。
3.preg_match_all函数
preg_match_all(pattern,subject,array matches,[int order])
该函数在subject字符串中寻找匹配pattern的互不重叠的文本,找到了匹配的文本则返回匹配文本的个数,否则返回0。匹配文本被放在二维数组matches中,matches[0]中存放的是所有符合的字符串。各种嵌入的子模式匹配的结果依次放在数组matches[1]~[n]中。
order参数可选,可取的值为PREG_PATTERN_ORDER和PREG_SET_ORDER。
4.preg_replace函数
preg_replace(pattern,replacement,subject,[int limit])
该函数将subject中符合pattern模式的部分替换成replacement,返回值类型和subject类型一样,如果有替换,则返回替换后的值,反之则返回原来的值。
参数可以是数组也可以是变量,有几种情况:
如果subject参数是数组类型。函数对每一个数组元素进行替换操作;
如果pattern是数组则函数根据每一个pattern中的类型进行替换;
如果pattern和replacement都是数组,则按两个数组中的元素对应完成替换;
如果replacement中的元素个数少于pattern中的元素个数。那么不够的部分将有空字符串来代替。
5.preg_split函数
preg_split(pattern,subject,[int limit][flages])
该函数以pattern定义的模式为分隔符将subject字符串分隔为若干个部分,返回数组,其中存放被分隔后的字符串。limit可限制返回字符串的数目,如果设置为-1表示对返回的字符串数目不加任何限制。flags也是可选项,其有两个值:PREG_SPLIT_NO_EMPTY设定函数不返回空字符串,PERG_SPLIT_DELIM_CAPTURE,该选项设定pattern中的嵌入子模式也会被函数匹配。