Использовать шаблон /(\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_combine()
для создания массива ключ / значение
$arr = array_combine($m[1], $m[2]);
print_r($arr);
Выход
Array
(
[id] => :id
[name] => :name
)
Результат проверки в демо