Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php preg_匹配以关键字开始_Php_Preg Match_Keyword - Fatal编程技术网

php preg_匹配以关键字开始

php preg_匹配以关键字开始,php,preg-match,keyword,Php,Preg Match,Keyword,当然是一个容易的问题,但我不能得到解决 我只想检测我的sql查询是否以“select”或其他任何东西开头。 此代码似乎不起作用: if (preg_match("/^(select)/i", $sql) > 0) { // SELECT query } else { // other query } 谢谢你的帮助 [编辑] 好的,我有根本原因: 在关键字“select”之前可能有空格、制表符和换行符…不需要正则表达式,请使用 Ex: 或者,如果您想坚持: Ex:试试: if (preg_

当然是一个容易的问题,但我不能得到解决

我只想检测我的sql查询是否以“select”或其他任何东西开头。 此代码似乎不起作用:

if (preg_match("/^(select)/i", $sql) > 0)
{
// SELECT query
}
else
{
// other query
}
谢谢你的帮助

[编辑] 好的,我有根本原因:
在关键字“select”之前可能有空格、制表符和换行符…

不需要正则表达式,请使用

Ex

或者,如果您想坚持:

Ex

试试:

if (preg_match("/^[[:space:]]*select/i", $sql))
这将匹配开始和
选择之间的任何(或无)空白,因此您的空格、选项卡等将被占用

更新,您的系统上可能会出现以下情况:

if (preg_match("/^\s*select/i", $sql))
好的,我明白了:

preg_match("/[\s]*(select)/i", $sql)

谢谢你的回答

我想它会起作用,但我还是想坚持使用preg_match(),不管怎样
if (preg_match("/^\s*select/i", $sql))
preg_match("/[\s]*(select)/i", $sql)