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功能:

本文介绍了PHP中处理正则表达式的两种方式:POSIX扩展和PCRE函数。POSIX扩展包括ereg()、ereg_replace()等,而PCRE函数如preg_match()、preg_replace()等在效率和语法支持上更胜一筹。文章通过实例展示了这些函数的使用方法,包括在数组处理、匹配次数统计和特殊字符处理等方面的应用。
555

被折叠的 条评论
为什么被折叠?



