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

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

1. Roler - 23 Февраля, 2009 - 13:32:13 - перейти к сообщению
Немного повозился, но название темы уже поменять не могу. Вообщем, жутко не хочет работать регулярное выражение. Я хз в чём дело, вот например это
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $file = preg_replace('[<\!\-\- INCLUDE (\S+) \-\->]','"; load("\1"); echo"',$file);
  4. ?>
  5.  

Прекрасно работает.
А следующий вариант нет.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $file = preg_replace('[\<\!\-\- IF (\S+) \-\-\>(\S+)\<\!\-\- END \-\-\>]','"; if(\1) echo "\2"; echo "',$file);
  4. ?>
  5.  

Что только подставлять не пробовал, не работает.
Пробовал и разные регулярки. Не заменяет во втором случае и всё.

UPDATE: Попробовал почистить всё, работает. Что я делаю неправильно? Может заэкранировал что-нибудь ненужное?
2. Champion - 23 Февраля, 2009 - 13:55:53 - перейти к сообщению
Здравствуйте, вот я пишу $a = 5; echo $a;
И у меня постоянно выводит 5! Вот что я делаю неправильно? Что надо сделать, чтоб выводилось то, что я хочу?


Откуда я знаю, что ты неправильно делаешь, когда ты не написал, что из чего тебе получит надо?
3. Бублик - 23 Февраля, 2009 - 16:38:43 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $file = preg_replace('[<\!\-\- IF (\S+) \-\-\>(\S+)\<\!\-\- END \-\-\>]','"; if(\1) echo "\2"; echo "',$file);

Может так?

 

Powered by ExBB FM 1.0 RC1