加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何过滤任何特殊字符

发布时间:2020-12-13 22:18:58 所属栏目:PHP教程 来源:网络整理
导读:如果我有这样的形式的输入文本 form action="add.php" method="post"input type="text" name="txt" id="txt"input type="submit" name="submit" value="Submit"/form add.php代码如下 $sql= "insert into mytable set myname='$txt'";executeupdate($sql);
如果我有这样的形式的输入文本

<form action="add.php" method="post">
<input type="text" name="txt" id="txt">
<input type="submit" name="submit" value="Submit">
</form>

add.php代码如下

$sql= "insert into mytable set myname='$txt'";
executeupdate($sql);

我的问题如何过滤来自任何特殊字符的任何文本输入我只想要它只有Aa-Zz-1234567890(字母和数字).

这是我的尝试,但我不确定它是否真的过滤所有特殊字符或可以通过任何

我在add.php中添加了以下代码

$cleared = strip_tags($txt);
$sql= "insert into mytable set myname='$cleared'";
executeupdate($sql);  // this should clear the name before insert

还有其他建议还是更好的方法?

解决方法

$whiteSpace = 's';  //if you dnt even want to allow white-space set it to ''
$pattern = '/[^a-zA-Z0-9'  . $whiteSpace . ']/u';
 $cleared = preg_replace($pattern,'',(string) $txt);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读