本文实例讲述了PHP使用正则表达式实现过滤非法字符串功能。分享给大家供大家参考,具体如下:
一、代码
1、index.php
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
title>过滤留言板中的非法字符/title>
style type="text/css">
!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
/style>/head>
body>
table width="1002" height="585" border="0" align="center" cellpadding="0" cellspacing="0">
tr>
td width="379" height="226">nbsp;/td>
td width="445">nbsp;/td>
td width="178">nbsp;/td>
/tr>
form id="form1" name="form1" method="post" action="index_ok.php">
tr>
td height="260">nbsp;/td>
td align="center" valign="top">table width="430" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#99CC67">
tr>
td width="81" height="30" align="right" bgcolor="#FFFFFF">发布主题:/td>
td width="307" align="left" bgcolor="#FFFFFF">input name="title" type="text" id="title" size="30" />/td>
/tr>
tr>
td align="right" bgcolor="#FFFFFF">发布内容:/td>
td align="left" bgcolor="#FFFFFF">textarea name="content" cols="43" rows="13" id="content">/textarea>/td>
/tr>
/table>/td>
td>nbsp;/td>
/tr>
tr>
td height="99">nbsp;/td>
td align="center" valign="top">table width="315" height="37" border="0" cellpadding="0" cellspacing="0">
tr>
td width="169" align="center">input type="image" name="imageField" src="images/bg1.JPG" />/td>
td width="146" align="center">input type="image" name="imageField2" src="images/bg3.JPG" onclick="form.reset();return false;" />/td>
/tr>
/table>/td>
td>nbsp;/td>
/tr>
/form>
/table>
/body>
/html>
2、index_ok.php
?php
$title=$_POST[title];
$content=$_POST[content];
$str="****";
$titles = preg_replace("/(黑客)|(抓包)|(监听)/",$str,$title);
$contents = preg_replace("/(黑客)|(抓包)|(监听)/",$str,$content);
?>
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
title>过滤留言板中的非法字符/title>
style type="text/css">
!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.STYLE1 {
font-size: 12px;
color: #855201;
}
-->
/style>/head>
body>
table width="1002" height="585" border="0" align="center" cellpadding="0" cellspacing="0">
tr>
td width="400" height="226">nbsp;/td>
td width="406">nbsp;/td>
td width="196">nbsp;/td>
/tr>
form id="form1" name="form1" method="post" action="index_ok.php">
tr>
td height="260">nbsp;/td>
td align="left" valign="top">p class="STYLE1">发布主题:?php echo $titles;?>/p>
p class="STYLE1">发布内容:?php echo $contents;?>/p>/td>
td>nbsp;/td>
/tr>
tr>
td>nbsp;/td>
td align="center" valign="top">nbsp;/td>
td>nbsp;/td>
/tr>
/form>
/table>
/body>
/html>
二、运行结果
发布主题:****
发布内容:****客 ****包
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《php程序设计安全教程》、《php安全过滤技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》及《php+mysql数据库操作入门教程》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:- PHP常用正则表达式精选(推荐)
- PHP正则表达式笔记与实例详解
- PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示功能
- 史上最全的PHP正则表达式(手机号需要加上177-***)
- PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
- PHP手机号码及邮箱正则表达式实例解析