使用regex在字符串中查找变量

5f0d552i  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(401)

我无法找到一些正则表达式来将多个php变量匹配到一个字符串中
下面是一个例子:

$var = "SELECT * FROM table WHERE admin='".$admin."' AND id=".$idclient." AND something=".$something;

所以实际上,我需要匹配整个查询字符串,只用一个函数()替换变量,其中包含变量。
我需要的最终结果应该是:

$var = "SELECT * FROM table WHERE admin='".functionname($admin)."' AND id=".functionname($idclient)." AND something=".functionname($something);
lrl1mhuk

lrl1mhuk1#

如果我没有误解你的要求,那么你可以这样试一下 regex ```

regex:https网址:regex101.com/r/1jg5fn/3
demo:https网址:http://3v4l.org/dxumr
oug3syen

oug3syen2#

如果您这样做,您可以更轻松地解决此问题:

$query = 'SELECT * FROM table WHERE admin=? AND id=? AND something=?';

$values = array_map('functionname', [ $admin, $idclient, $something ]);

然后可以将该数组转发到所使用的任何执行方法。

相关问题