Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [RegExp]Problem z parsowaniem
Forum PHP.pl > Forum > PHP
loganek
Witam, napisałem wyrażenie regularne, które wyciąga podciąg z danego ciągu.
Oto podciąg(plik template.php):
Kod
{IF x=3}czesc jesli jestes admiinem, widzisz {IF admin=1}to{/IF}{/IF} tekst{IF sadf=5}i tu kolejny if{/IF}

a to strona główna:
  1. <?php
  2. $r=file_get_contents("template.php");
  3. preg_match_all( "/{IF (.*?)([>=<])(.*?)}([^IF]*?){/IF}/s", $r, $tabif);
  4. print_r($tabif);
  5. ?>

jak widać zadaniem kodu jest wyciągnięcie tekstu, który znajduje się pomiędzy znacznikami {IF}, pod warunkem że ten ciąg nie zawiera w sobie tekstu IF, dzięki czemu w tablicy powinny znaleźć się ciągi znaków które się nie zagnieżdżają.
Jednak tak nie jest, Co jest nie tak w wyrażeniu regularnym?
Z góry dziękuje
Pozdrawiam
dadexix
Kod
[^IF]
znaczy nie tylko "nie ma IF" ale też "nie ma FI"
loganek
wiem, ale to niestety nie powód błędu;/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.