замена регуляркой в прочтенном файле

Deert

Новичок
Всем привет. Я читаю файл методом file_get_contents();
и там у меня есть код:
PHP:
[user=yes]
пользователь есть
[/user=yes]

[user=no]
not user
[/user=no]
Так вот мне надо если пользователь есть то вывело то что в теге user=yes а если нет то user no. Я пробовал делать ругуляркой, но в не получается. Я в 3 парамеитр preg_replace прописываю чтение файла и не заменяеи а просто вывести текст- работает
 

Sufir

Я не волшебник, я только учусь
А можешь полностью описать задачу стоящую перед тобой?
 

Deert

Новичок
Ладно. Допустим вот код.

PHP:
$tpl = file_get_contents('temlate.tpl');

$delete_no = preg_replace("#\[user=no\](.*?)\[/user=no\]#", "", $tpl);
	  	
      $p = "#\[user=yes\](.*?)\[/user=yes\]#";
      $r = "$1";
     echo preg_replace($p, $r, $delete_no);
А код template.tpl таков
PHP:
[user=yes]
пользователь есть
[/user=yes]

[user=no]
not user
[/user=no]
Должно вывести пользователь есть а не выыодит
 

rampa

Новичок
PHP:
preg_match_all('<\A\[user=(\w{2,3})\][.\r\n\t^\[]+\[\/user=\w{2,3}\]\Z>', $tpl, $matches);
foreach( $matches as $key => $val ) {
   if( $m[1][$key] == 'yes' ) {
      echo 'пользователь есть';
   } else {
      echo 'no user';
   }
}
 
Сверху