fork download
  1. <?php
  2.  
  3. $values = array('username'=>'AAAAAA', 'lastname'=>'Smith');
  4. $string = 'Hello {$username}, how are you?';
  5. $new_string = preg_replace_callback('/\{\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/', function($m) use ($values) {
  6. return 'Hello <?php echo ' . (!empty($values[$m[1]]) ? $values[$m[1]] : $m[0]) . '; ?>';
  7. }, $string);
  8.  
  9. var_dump($new_string);
Success #stdin #stdout 0.04s 23652KB
stdin
Standard input is empty
stdout
string(47) "Hello Hello <?php echo AAAAAA; ?>, how are you?"