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 :: Версия для печати :: preg_replace_callback
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » preg_replace_callback

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

1. qwelly - 25 Июня, 2011 - 00:07:12 - перейти к сообщению
Есть код:

PHP:
скопировать код в буфер обмена
  1. $design = $data[f]; // инфа из бд. поле f. В нём содержится {5+5}
  2.  
  3. function asd($ar) {
  4.                 if($ar[1]) {
  5.                         return $ar[1];
  6.                 }
  7. };
  8.  
  9. echo preg_replace_callback("/{(.*)}/","asd",$design)


Так вот, нужно чтобы в результате происходило сложение, а не просто выводилось 5+5. Как реализовать?
2. OrmaJever - 25 Июня, 2011 - 00:14:15 - перейти к сообщению
код и описание отличаются по смыслу Растерялся
PHP:
скопировать код в буфер обмена
  1. $design = '5+5';
  2. function abc($a) {
  3.    return eval("$a");
  4. }
  5. echo abc($design);
3. qwelly - 25 Июня, 2011 - 00:16:47 - перейти к сообщению
OrmaJever, Parse error: syntax error, unexpected $end in /home/modal163/public_html/form.php(4) : eval()'d code on line 1
4. OrmaJever - 25 Июня, 2011 - 00:20:47 - перейти к сообщению
забыл точку с запятой

(Добавление)
хотя ещё и return в eval надо Растерялся

PHP:
скопировать код в буфер обмена
  1. $design = '5+5';
  2. function abc($a) {
  3.    return eval("return $a;");
  4. }
  5. echo abc($design);

(Добавление)
Да и вобще что я блин изобретаю
PHP:
скопировать код в буфер обмена
  1. $design = '5+5';
  2.  
  3. eval("echo $design;");
5. qwelly - 25 Июня, 2011 - 14:39:22 - перейти к сообщению
Всё работает!Большое спасибо!

 

Powered by ExBB FM 1.0 RC1