Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: найти подстроку и вызвать функцию
 
 автор: admiral   (16.10.2011 в 01:39)   письмо автору
 
 

необходимо в строке найти подстроку {func=1} и вызвать функцию func(1);
значение 1 может быть любое целое число. даже в голову не приходит как поступить. может использовать регулярное выражение?

  Ответить  
 
 автор: cheops   (16.10.2011 в 08:15)   письмо автору
 
   для: admiral   (16.10.2011 в 01:39)
 

Да, наверно лучше будет воспользоваться регулярным выражением... функция func() будет что-то возвращать? Если да, то как следует поступить с результатом? Подставить в строку?

  Ответить  
 
 автор: admiral   (17.10.2011 в 01:55)   письмо автору
 
   для: cheops   (16.10.2011 в 08:15)
 

Функция func() будет возвращать html-код, в частности таблицу с данными. Следовательно, да, результат функцию необходимо вставить в строку.

  Ответить  
 
 автор: cheops   (17.10.2011 в 08:55)   письмо автору
 
   для: admiral   (17.10.2011 в 01:55)
 

Можно начать отталкиваться от следующего скрипта
<?php
  $text 
"необходимо в строке найти подстроку {func=1} и вызвать функцию func(1);";
  
$pattern "|\{([\w\d]+)=(\d+)\}|";
  echo 
preg_replace_callback($pattern"replace"$text);

  function 
replace($out)
  {
    return 
call_user_func($out[1], $out[2]);
  }
  function 
func($var)
  {
    return 
$var;
  }
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования