fork download
  1. <?php
  2.  
  3.  
  4. // Задача: подставить переменные в строку
  5. $data = array(
  6. 'name' => 'Ivan',
  7. 'phrase' => 'Hello World!'
  8. );
  9.  
  10. $format = "{name} says: {phrase}\n";
  11.  
  12. $result = preg_replace_callback("/\\{([a-zA-Z_]+)\\}/", function ($m) use ($data) {
  13.  
  14. $key = $m[1];
  15. if (isset($data[$key])) {
  16. return $data[$key];
  17. }
  18.  
  19. throw new Exception("Inavlid placeholder: '{$m[0]}'");
  20.  
  21. }, $format);
  22.  
  23. echo $result;
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
Ivan says: Hello World!