Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Текст с подстановкой переменных
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Текст с подстановкой переменных

Страниц (1): [1]
 

1. Fotlax - 21 Октября, 2016 - 18:55:16 - перейти к сообщению
Подскажите, как реализовать следующую операцию. Нужно прочитать данные из XML и вставить их в шаблон.

PHP:
скопировать код в буфер обмена
  1. $xml = '
  2. <data>
  3. <set>
  4.  <lib type="private">core-ms</lib>
  5.  <lib type="public">tools</lib>
  6. </set>
  7. </data>
  8. ';
  9.  
  10. $data = new SimpleXMLElement($xml); // читаем XML
  11.  
  12. $q = "
  13. Продукт: {$data->set->lib}, тип: {$data->set->lib->attributes()->type}.
  14. Продукт: {$data->set->lib[1]}, тип: {$data->set->lib[1]->attributes()->type}.
  15. ";
  16.  
  17. echo $q;
  18.  
  19. # Получаем рузультат:
  20. #  Продукт: core-ms, тип: private.
  21. #  Продукт: tools, тип: public.
  22. # Всё работает как надо - правильно.
  23.  
  24. # Теперь точно такое же содержимое помещаем в $q, но из файла
  25.  
  26. $q = file_get_contents('q.txt');
  27.  
  28. echo $q;
  29.  
  30. # Каким теперь образом можно получить такой же результат с подменой переменных?
2. Fotlax - 21 Октября, 2016 - 22:59:08 - перейти к сообщению
Решение:

PHP:
скопировать код в буфер обмена
  1. $KEY='IDIEU3843824J2H4HF7DSFJD8DS9FJDSLVNBZ91';
  2. eval("\$q=<<<END$KEY\n".file_get_contents('q.txt')."\nEND$KEY;\n");

 

Powered by ExBB FM 1.0 RC1