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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: preg_replace_callback

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
qwelly
Отправлено: 25 Июня, 2011 - 00:07:12
Post Id



Забанен


Покинул форум
Сообщений всего: 59
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Есть код:

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. Как реализовать?

(Отредактировано автором: 25 Июня, 2011 - 00:07:29)

 
 Top
OrmaJever Модератор
Отправлено: 25 Июня, 2011 - 00:14:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
qwelly
Отправлено: 25 Июня, 2011 - 00:16:47
Post Id



Забанен


Покинул форум
Сообщений всего: 59
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




OrmaJever, Parse error: syntax error, unexpected $end in /home/modal163/public_html/form.php(4) : eval()'d code on line 1
 
 Top
OrmaJever Модератор
Отправлено: 25 Июня, 2011 - 00:20:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




забыл точку с запятой

(Добавление)
хотя ещё и 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;");


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
qwelly
Отправлено: 25 Июня, 2011 - 14:39:22
Post Id



Забанен


Покинул форум
Сообщений всего: 59
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Всё работает!Большое спасибо!

(Отредактировано автором: 25 Июня, 2011 - 14:48:24)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB