usiłuję napisać swój prosty system szablonów i już mam problem z wyrażeniem regularnym


tak wydląda plik .tpl

  1. IF var1=1 START
  2. OPCJA 1
  3. IF var1=1 END
  4.  
  5. IF var1=2 START
  6. OPCJA 2
  7. IF var1=2 END


a tak część skryptu php
  1. preg_match_all( '/IF var1=1 START([[:print:]]*)IF var1=1 END/', $file, $out ) ;


gdy
([[:print:]]*) zamienie na ([^<>]*) to wszystko działa tak jak zamierzałem, dlaczego on działa a [[:print:]]* już nie, przecież to jest "wszystkie możliwe do wyświetlenia znaki" więc powinien i on działać


problem nr 2

w jaki sposob zrobić coś takiego

/IF var1=1 START(patrz gwiazdkę)IF var1=1 END/
*takie ciągi znaków które nie pasują do "IF (dowolne znaki)*=(dowolne znaki)* (END|START){1}

czyli w przypadku jak będzie coś takiego
  1. IF var1=2 START
  2. IF sad=dfg END
  3. IF var1=2 END


to żeby tego nie znalazło

nikt nie pomoże ?