PHP正则表达式函数

 关于正则表达式 (Regular expression_r),似乎译成:字符串解析处理,较合乎字面上的意义。但目前所有的相关书籍都译成正则表达式或是正规表示法....等等,实际上是负责字符串解析比对,并对字符串做相关的处理。

ereg: 字符串比对解析。
ereg_replace: 字符串比对解析并取代。
eregi: 字符串比对解析,与大小写无关。
eregi_replace: 字符串比对解析并取代,与大小写无关。
split: 将字符串依指定的规则切开。
sql_regcase: 将字符串逐字返回大小写字符。

ereg

字符串比对解析。

语法: bool ereg(string pattern, string string, array [regs]);

返回值: 布尔值

函数种类: 资料处理

 

 

 
内容说明

 

本函数以 pattern 的规则来解析比对字符串 string。比对结果返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true。

 

 

 
使用范例

 

这个例子是 markus@dnet.it 在 14-Jun-1999 所提出的,可对使用者输入的 E-Mail 作简单的检查,检查使用者的 E-Mail 字符串是否有 @ 字符,在 @ 字符前有英文字母或数字,在之后有数节字符串,最后的小数点后只能有二个或三个英文字母。super@mail.wilson.gs 就可以通过检查,super@mail.wilson 就不能通过检查。

<?php
if (eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {
    echo
 "您的 E-Mail 通过初步检查";
}
?>

 

 

ereg_replace

字符串比对解析并取代。

语法: string ereg_replace(string pattern, string replacement, string string);

返回值: 字符串

函数种类: 资料处理

 

 

 
内容说明

 

本函数以 pattern 的规则来解析比对字符串 string,欲取而代之的字符串为参数 replacement。返回值为字符串类型,为取代后的字符串结果。

 

 

 
使用范例

 

ken@freebsdrocks.com 在 16-Mar-1999 提出的例子。

<?php
$text
 = 'This is a {1} day, not {2} and {3}.';
$daytype = array( 1 => 'fine',
                  
2 => 'overcast',
                  
3 => 'rainy' );
while (
ereg ('{([0-9]+)}', $text, $regs)) {
  
$found = $regs[1];
  
$text = ereg_replace("\{".$found."\}", $daytype[$found], $text);
}
echo
 "$text\n";
// This is a fine day, not overcast and rainy.
?>

ken@freebsdrocks.com 并同时提出具有相同功能的perl 程序范例如下:

$text = 'This is a {1} day, not {2} and {3}.';
%daytype = ( 1 => 'fine',
               2 => 'overcast',
               3 => 'rainy' );
$text =~ s/{(\d+)}/$daytype{$1}/eg;
print "$text\n";

结果是:'This is a fine day, not overcast and rainy.

 

 

eregi

字符串比对解析,与大小写无关。

语法: int eregi(string pattern, string string, array [regs]);

返回值: 整数/数组

函数种类: 资料处理

 

 

 
内容说明

 

本函数和 ereg() 类似,用法也相同。不同之处在于 ereg() 有区分大小写,本函数与大小写无关。

eregi_replace

字符串比对解析并取代,与大小写无关。

语法: string eregi_replace(string pattern, string replacement, string string);

返回值: 字符串

函数种类: 资料处理

 

 

 
内容说明

 

本函数和 ereg_replace() 类似,用法也相同。不同之处在于 ereg_replace() 有区分大小写,本函数与大小写无关。

 

 

split

将字符串依指定的规则切开。

语法: array split(string pattern, string string, int [limit]);

返回值: 数组

函数种类: 资料处理

 

 

 
内容说明

 

本函数可将字符串依指定的规则分开。切开后的返回值为数组变量。参数 pattern 为指定的规则字符串、参数 string 则为待处理的字符串、参数 limit 可省略,表示欲处理的最多合乎值。值得注意的是本函数的 pattern 参数有区分大小写。

sql_regcase

将字符串逐字返回大小写字符。

语法: string sql_regcase(string string);

返回值: 数组

函数种类: 资料处理

 

 

 
内容说明

 

本函数可将字符串之字符逐字返回大小写。在 PHP 使用上,本函数没有什么作用,但可能可以提供外部程序或数据库处理。

 

 

 
使用范例

 

例中的返回字符串为 [Ww][Ii][Ll][Ss][Oo][Nn]

<?php
print(sql_regcase("wilson"));
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值