如何在php中通过正则表达式查找PDO查询中的参数?
我有一个sql查询,如下所示:如何在php中通过正则表达式查找PDO查询中的参数?,php,regex,string,preg-match,Php,Regex,String,Preg Match,我有一个sql查询,如下所示: select * from tbl_test where id=:id and name=:name 现在我想从上面的字符串中提取所有变量。因此,我想在php中使用preg\u match()函数。但我不知道怎样写那个常规的表达 有人能帮我解决这个问题吗?使用模式/(\w+)=(:\w+/,在=前后匹配字符串 $str = "select * from tbl_test where id=:id and name=:name"; preg_match_all("
select * from tbl_test where id=:id and name=:name
现在我想从上面的字符串中提取所有变量。因此,我想在php中使用preg\u match()
函数。但我不知道怎样写那个常规的表达
有人能帮我解决这个问题吗?使用模式/(\w+)=(:\w+/
,在=
前后匹配字符串
$str = "select * from tbl_test where id=:id and name=:name";
preg_match_all("/(\w+)=(:\w+)/", $str, $m);
print_r($m[2]);
输出
Array
(
[0] => :id
[1] => :name
)
Array
(
[id] => :id
[name] => :name
)
您还可以使用array\u combine()
创建键/值数组
$arr = array_combine($m[1], $m[2]);
print_r($arr);
输出
Array
(
[0] => :id
[1] => :name
)
Array
(
[id] => :id
[name] => :name
)
检查中的结果查询中没有变量。你想要占位符吗<代码>:\w+应该为您做这件事,我想()考虑:查询中的变量作为变量。我想找到所有的:id和:name。如果正则表达式应该这样做……你试过了吗?