2

我正在尝试创建一个 SQL 过滤系统,当请求包含任何包含的单词时通知用户。

目前,我的正则表达式仅支持所有大写字母,我想知道是否有可能让它也接受非大写字母以及其他字母组合SElEcT

我知道手动输入是可能的,但是,这不是执行此类任务的最有效方式。

这是我当前的代码:

function checkString($string)
{
if(preg_match('[SELECT|FROM|DATABASE|TABLE|DROP|ALTER|LIKE|IN|BETWEEN|UNION|NULL|CHECK|JOIN|AVG|SUM|COUNT|FIRST|LAST|MAX|MIN|GROUP]', $string

谢谢。

4

1 回答 1

6

使用i修饰符(使正则表达式不区分大小写。):

if(preg_match('/(SELECT|FROM|DATABASE|TABLE|DROP|ALTER|LIKE|IN|BETWEEN|UNION|NULL|CHECK|JOIN|AVG|SUM|COUNT|FIRST|LAST|MAX|MIN|GROUP)/i', $string

更多信息

于 2013-09-19T00:34:29.333 回答