私は文字列を持っています
$argsInString = '"%s hello", \'%s world\', $foo->bar("anything", array(\'foo\' => 5 , \'bar\' => $a)),5, foo($s) ,$foo';
そして、次のように配列に変換したい:
$argsInArray = array('"%s hello"', '\'%s world\'', '$foo->bar("anything", array(\'foo\' => 5 , \'bar\' => $a))', '5', 'foo($s)', '$foo');
私はこのようなことを試みます:
eval('$argsInArray = array(' . $argsInString . ');');
しかし、これは変数を実行します。
$argsInString から $argsInArray を作成する方法を教えてください。
編集: 文字列内で一重引用符 (') を使用して、個々のパラメーターを覆う正規表現の記述に成功した場合、eval は上記のように機能します。
または、正規表現 preg_match_all('...', $argsInString, $argsInArray); を記述できますか? これは最高です。