ユーザーが変数をエコーできるようにするテキストエリアを作成しました。
Hello {$name}!
...そして配列も:
Hello {$person.name}
次の行を使用して文字列を PREG_REPLACE し、PHP で eval() できるようにします。
$input = preg_replace( $patter , $replacement , $input);
浅い変数で動作するようにしました:
'/{\$([a-zA-Z0-9_-]*)}/'
になる<?php echo $$1; ?>
...そして 1 ~ 2 ~ 3 レベルの深い配列の場合:
'/{\$([a-zA-Z0-9_-]*)\.([a-zA-Z0-9_-]*)\.([a-zA-Z0-9_-]*)\.([a-zA-Z0-9_-]*)}/'
になる<?php echo $$1['$2']['$3']['$4']; ?>
しかし、私が本当に欲しいのは無制限のレベルです....
'/{\$([a-zA-Z0-9_-]*)<\.([a-zA-Z0-9_-]*)>}/'
になる<?php echo $$1<['$*']>; ?>
これが頭を悩ませている場合は申し訳ありません-それは確かに私を悩ませています!