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

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

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

 

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

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

тема: Замена текста на значение функции
 
 автор: B@cZ   (29.09.2005 в 18:27)   письмо автору
 
 

У меня имеется текст в POST переменной, допустим он содержит такой вид:
Приве всем, это очень классный сайт, сейчас [date]29.09.2005[/date].
Так вот как мне заменить заменить [date]29.09.2005[/date], на функцию, допустим, такого вида:
function date ($date) {
echo "<b>$date</b>";
}
Причем чтобы в аргументе функции $date = 29.09.2005 (для этого примера).
Важный момент: Таких кодов в тексте может быть несколько и все с разными датами. Каждый должен прогянять через функцию и на месте [date]29.09.2005[/date] оставлять только то что возвращает функция.
Заранее благодарен!

   
 
 автор: cheops   (29.09.2005 в 22:42)   письмо автору
 
   для: B@cZ   (29.09.2005 в 18:27)
 

Для этого проще всего воспользоваться регулярными выражениями, используя функцию обратного вызова
<?php
  $text 
"Привет всем, это очень классный сайт, сейчас [date]29.09.2005[/date].";
  
$text preg_replace_callback
          
"|\[date\](.+)\[/date\]|iU"
          
"date_text"
          
$text);
  echo 
$text
  function 
date_text($matches
  { 
    return 
"<b>".$matches[1]."</b>"
  } 
?>

   
Rambler's Top100
вверх

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