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

Форум PHP

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

 

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

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

тема: функция date внутри регулярного выражения
 
 автор: himic   (30.05.2014 в 10:18)   письмо автору
 
 

Приветствую всех!

есть вот такая строчка кода:

<? $post preg_replace"#\[golos\](.+?)\[/golos\]#ise""show_golos('$1')"$post ); ?>


она заменяет bb код на форму для голосования

Делаю такой же код где хочу заменить юникс дату на нормальную дату, встраиваю date, но она не хочет отрабатывать, выводит просто строку date()
<?    $post preg_replace"#\[quote\s*name=(.+?)\s*link=(.+?)\s*date=(.+?)](.*?)\[/quote\]#is""<div class=\"quote\"><b class=\"graydk\"> Цитата:</b> <a href=\"?$2\"><b>$1</b> <span>тут надо вывести дату</span></a><br>$4</div>"$post );
?>


обгуглил весь гугл не могу найти как выполнять функцию внутри регулярного вырпженияquote\

  Ответить  
 
 автор: confirm   (30.05.2014 в 10:23)   письмо автору
 
   для: himic   (30.05.2014 в 10:18)
 

Модификатор e, читайте http://www.php.net/manual/ru/reference.pcre.pattern.modifiers.php

  Ответить  
 
 автор: himic   (30.05.2014 в 10:40)   письмо автору
 
   для: confirm   (30.05.2014 в 10:23)
 

Да да, забыл сказать, выполнял и с модификатором e

сделал так

вынес формирование строчки в отдельную функцию

<?
function quote_bb($name,$link,$date,$comm){
return '<div class="quote"><b class="graydk"> Цитата:</b> <a href="?'.$link.'"><b>'.name.'</b><span> '.date('d.m.Y в H:i:s',$date).' </span></a><br>'.$comm.'</div>';
}
?>

а потом вызвал ее в регулярном выражении:

<?    $post preg_replace"#\[quote\s*name=(.+?)\s*link=(.+?)\s*date=(.+?)](.*?)\[/quote\]#ise""quote_bb('$1','$2','$3','$4')"$post );
?>


Что интересно, если подставляешь напрямую строку не работает. Если убираешь всё лишнее и оставляешь только выведение даты, то работает

  Ответить  
 
 автор: confirm   (30.05.2014 в 11:30)   письмо автору
 
   для: himic   (30.05.2014 в 10:40)
 

Читайте еще раз. Что сказано об этом модификаторе, и что рекомендуется использовать.

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

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