您所在的位置: 首页 > 读书频道 > 设计开发 > 网站开发 >

实例287:利用正则表达式实现字符串的匹配查找

http://book.51cto.com  2007-10-12 13:12  明日科技  人民邮电出版社  我要评论(0)

实例287:利用正则表达式实现字符串的匹配查找

这是一个字符串匹配查找的实例
实例位置:光盘\mingrisoft\10\287

实例说明

PHP项目开发过程中,可以利用SQL语句中的关键字“like”对数据库中的内容进行匹配查找,但对于那些没有存储在数据库中的大量数据,用关键字“like”实现匹配查找相对困难,例如查找存储在POP3服务器中的邮件,使用like是无法实现的。为了解决上述问题,可以利用正则表达式实现匹配查找。运行本实例,将出现如图10.25所示的表单,在该表单中输入mr,单击“查找”按钮,将显示数组$array中所有含有关键字mr的字符串。

图10.25  利用正则表达式实现字符串的匹配查找

技术要点

利用正则表达式对字符串进行匹配查找,可以通过函数preg_match()实现。
语法:
int preg_match ( string pattern, string subject [, array matches [, int flags]])
功能:
该函数用于实现在字符串subject中搜索与pattern中给出的正则表达式相匹配的内容。

实现过程
(1)建立如图10.25所示的表单。代码如下:

<form name="form1" method="post" action="index.php">
<tr>
<td height="25" colspan="2" bgcolor="#0099CC">
<div align="center" class="STYLE1">匹配查找</div></td>
</tr>
<tr>
<td width="95" height="25" bgcolor="#FFFFFF">
<div align="center">关键字:</div></td>
<td width="152" bgcolor="#FFFFFF">&nbsp;
<input type="text" name="key" class="inputcss" size="20"></td>
</tr>
<tr>
<td height="25" colspan="2" bgcolor="#FFFFFF">
<div align="center"><input name="submit" type="submit" value="查找" class="buttoncss">
</div></td>
</tr>
</form>
(2)建立字符数组$array,模拟要查找的内容。代码如下:
$array=array(0=>'mrsoft',1=>'mrkj',2=>'jlmrkj',3=>'mingrisoft');

(3)实现字符串的匹配查找。代码如下:
$key=$_POST[key];
for($i=0;$i<count($array);$i++)
{
if(preg_match("/$key/i",$array[$i]))
{
echo "<div align=center>".$array[$i]."</div>";
}
}


上述代码中preg_match("/$key/i",$array[$i])实现字符串的匹配查找,正则表达式中的i表示实现不区分大小写的匹配查找。

举一反三

根据本实例,读者可以:
实现按邮件主题进行查找邮件。
匹配查找某数组中的内容。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节
PHP开发基础入门
PHP+APACHE+MYSQL下载汇总
PHP开发应用手册
Perl实例精解(第4版)
SQL Server 2005 Integration Services专家教程
 
 验证码: (点击刷新验证码)   匿名发表
  • 网络工程师考试案例动手实验营

  • 作者:郭春柱
  • 本书依据2009年版《网络工程师考试大纲》的考核要求,深入研究了历年网络工程师考试试题的命题风格和试题结构,对考查的知识点..
Copyright©2005-2008 51CTO.COM 版权所有