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

 PHP.SU

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


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

> Без описания
BesTime
Отправлено: 20 Июля, 2013 - 14:39:44
Post Id



Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Февр. 2012  


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

[+]


Как с помощью прег реплейс выполнить замену


на



вроде это как бб код делается



но не совсем разбираюсь как это работает
 
 Top
soffrick
Отправлено: 20 Июля, 2013 - 14:47:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




PHP:
скопировать код в буфер обмена
  1. /*out: <?PHP if($user_id==1){?>*/
  2. $str = '<if($user_id==1)>';
  3. // preg_quote ? (2parameter - "#")
  4. $out = preg_replace('#\<(.+?)\>#is', '<?PHP $1 ?>', $str);
  5. echo htmlspecialchars($out);



Спойлер (Отобразить)

(Отредактировано автором: 20 Июля, 2013 - 14:51:33)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
BesTime
Отправлено: 20 Июля, 2013 - 14:51:36
Post Id



Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Февр. 2012  


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

[+]


как это работает

что значат каждые из символов # \ is и т.д. можешь объяснить пожалуйста?
(Добавление)
а как <endif> переделать в <?php }?>
 
 Top
soffrick
Отправлено: 20 Июля, 2013 - 15:57:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




BesTime пишет:
<endif> переделать в <?php }?>

PHP:
скопировать код в буфер обмена
  1. replace('<endif>', '<?PHP }?>');

(Добавление)
Спойлер (Отобразить)


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
BesTime
Отправлено: 20 Июля, 2013 - 16:00:16
Post Id



Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Февр. 2012  


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

[+]


так и делаю но почему то у меня перестают ввыводится результаты из бд а если условие не верное вообще весь пхп код вышибает
 
 Top
soffrick
Отправлено: 20 Июля, 2013 - 16:14:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




BesTime пишет:
так и делаю но почему то у меня перестают ввыводится результаты из бд а если условие не верное вообще весь пхп код вышибает

не знаю в чём магия, но
output пишет:
<?PHP endif; ?>

(Добавление)
PHP пишет:
Спойлер (Отобразить)


-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
BesTime
Отправлено: 20 Июля, 2013 - 16:31:36
Post Id



Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Февр. 2012  


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

[+]


нето чето неработает

PHP:
скопировать код в буфер обмена
  1. $var = preg_replace('#\<?if(.+?)\?>#is', '<?PHP if($1){ ?>', $var);
  2. $var = str_replace('#\<?(.+?)\?>#is', "<?PHP }?>",$var);


CODE (html):
скопировать код в буфер обмена
  1. <?if($SECTION_ID$==1)?>Условие сработало<?endif?>
 
 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