PHP中实现POSIX正则表达式的函数有7个。
1 ereg()函数和eregi()函数
函数语法:
使用ereg()函数验证变量是否合法。实例:
2 ereg_erplace()函数和eregi_replace()函数
函数语法:
将字符串中所有非大写的tm都换成大写TM。实例
3 split()函数和spliti()函数
函数语法;
现在我们用‘is’来分割字符串$str,
实现PCRE风格的正则表达式的函数也有7个,PCRE函数的执行效率和语法支持都要略优POSIX函数
1 preg_grep()函数
函数语法:
在数组$arr中匹配具有正确格式的电话号码(010-1234******等),并保存到另一个数组中,实例如下:
2 preg_match()函数和preg_match_all()函数
函数语法:
函数 preg_match()的返回值是0或1。因为该函数在匹配成功后停止继续查找了。而preg_match_all()函数则会一直匹配到最后才会停止。参数array match对于preg_match_all()函数是必须有的,而对于则可以省略。
使用preg_match()函数和preg_match_all()函数来匹配子串$str,并返回各自的匹配次数。实例:
3 preg_quote()函数
函数语法:
输出常用的特殊字符,并且将字母b也当做特殊字符输出。实例如下:
4 preg_replace()函数
函数语法:
说明!!
如果参数中调用的是数组。有可能在调用过程中并不是按照数组的key值进行替换,所以在调用之前需要将数组重新排列ksort().
实例:为实现一个UBB代码转换功能,将输入的“[b]…[/b]”、"[i]…[/i]"等类似的格式转换为html能识别的标签:
说明!!
preg_replace()函数中的子串“$1”是在正则表达式外调用分组,按照$1、$2排序,依次表示从左到右的分组顺序,也就是括号顺序。$0表示的是整个正则表达式的匹配值。
5 preg_replace_callback()函数
函数语法;
实例:使用回调函数来实现UBB功能: