使用正则表达式将变量查找到字符串中

时间:2018-08-09 17:17:51

标签: php mysql regex variables replace

我找不到匹配多个php变量的正则表达式

下面是一个示例:

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

所以实际上我需要匹配整个查询字符串,并仅将变量替换为具有内部变量的function()。

我需要的最终结果应如下所示:

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

2 个答案:

答案 0 :(得分:1)

如果我没有误解您的要求,那么您可以尝试使用$ echo 'my\nname\nis' | sed 's/\\n/ /g' my name is

regex

正则表达式: https://regex101.com/r/1Jg5FN/3

演示: https://3v4l.org/DXuMr

答案 1 :(得分:0)

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

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

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

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