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
Форумы портала PHP.SU :: Версия для печати :: preg_replace
Форумы портала PHP.SU » » Вопросы новичков » preg_replace

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

1. BesTime - 20 Июля, 2013 - 14:39:44 - перейти к сообщению
Как с помощью прег реплейс выполнить замену


на



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



но не совсем разбираюсь как это работает
2. soffrick - 20 Июля, 2013 - 14:47:45 - перейти к сообщению
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);



Спойлер (Отобразить)
3. BesTime - 20 Июля, 2013 - 14:51:36 - перейти к сообщению
как это работает

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

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

(Добавление)
Спойлер (Отобразить)
5. BesTime - 20 Июля, 2013 - 16:00:16 - перейти к сообщению
так и делаю но почему то у меня перестают ввыводится результаты из бд а если условие не верное вообще весь пхп код вышибает
6. soffrick - 20 Июля, 2013 - 16:14:49 - перейти к сообщению
BesTime пишет:
так и делаю но почему то у меня перестают ввыводится результаты из бд а если условие не верное вообще весь пхп код вышибает

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

(Добавление)
PHP пишет:
Спойлер (Отобразить)
7. BesTime - 20 Июля, 2013 - 16:31:36 - перейти к сообщению
нето чето неработает

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?>

 

Powered by ExBB FM 1.0 RC1