查找子字符串是正则表达式的主要应用。在PHP中,可以使用的并且用于匹配POSIX风格正则表达式的两个函数是ereg和eregi。ereg函数原型如下所示:
int ereg(string pattern,string search,array[matches]);
该函数搜索字符串search,在pattern中寻找与正则表达式相匹配的字符串。如果发现了与pattern的子表达式相匹配的字符串,这些字符串将会存储在数组matches中,每个数组元素对应一个子表达式。
函数eregi除了不区分大小写外,其他功能与ereg一样。
可以使用如下所示的代码对智能表单例子进行修改:
if(!eregi('^[a-zA-Z0-9_/-/.][email protected][a-zA-Z0-9/-]+/.[a-zA-Z0-9/-/.]+$',$email)){
echo"<p>That is not a valid email address.</p>".
<p>Please return to the previous page and try again.</p>";
exit;
}
$toaddress="[email protected]";//the default value
if(eregi("shop|customer service|retail",$feedback))
$toaddress="[email protected]";
}else if(eregi("deliver|fulfill",$feedback)){
$toaddress="[email protected]";
}else if(eregi("bill|account",$feedback)){
$toaddress="[email protected]";
}
if(eregi("bigcustomer/.com",$email)){
$toaddress="[email protected]";
}