Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg replaca
Forum PHP.pl > Forum > PHP
deniol13
witam. mam taka głupią prosbe no ale coz, preg_match i temu pokrewne zawsze slabo mi szlo.
mam zmienna
$asd = 'jakis kod html';
no i z tej zmiennej chce usunac wszystko co zaczyna sie na { i konczy na }
oraz
  1. <!-- COS -->
  2. i tu cos moze byc
  3. <!-- /COS -->

przy czym to COS moze byc ASD a moze byc LOLWUT czyli moze zawiera rozne rzeczy.

dzieki wielkie jesli ktos bedzie tak mily i pomoze
tehaha
akurat to nie jest jakiś trudny przykład więc przy odrobinie wkładu własnego bez problemu byś to zrobił, poza tym nie koniecznie trzeba tu posłużyć się wyrażeniem regularnym skoro chodzi tylko o kasowanie zawartości nawiasów i komentarzy, tu masz na samym końcu kod, który usuwa ostatni nawias wraz zawartością, jak go puścisz w pętli to uzyskasz pożądany efekt http://forum.php.pl/index.php?showtopic=151367&hl=
a gdybyś jednak zechciał użyć wyrażeń regularnych to tutaj masz bardzo fajny tutek dla początkujących http://www.tipsntutorials.com/tutorials/PHP/50
deniol13
dzieki, przydalo sie

zrobilem to w taki sposob (dziala, nie wiem czxy to poprawne jest etc.)
  1. $this->tpldata[$id] = preg_replace( '|{(.*)}|', '', $this->tpldata[$id] );
  2. $this->tpldata[$id] = preg_replace( '|<!-- (.*) -->|', '', $this->tpldata[$id] );


tylko jeden maly problemik jest. bo chcialbym podwojne entery usunac z pliku tzn. '\n\n'
  1. $this->tpldata[$id] = str_replace( '\n\n', '', $this->tpldata[$id] );


ale nie dziala sad.gif
tehaha
ok w Twoich wyrażeniach nie uwzględniłeś jednak jednej sytuacji przykładowo takie nawiasy zostaną potraktowane jako jeden: {aaaa}bbbb{cccc}, tak samo z komentarzami, powinieneś zastosować tutaj wykluczenie znaku, czyli:
  1. $this->tpldata[$id] = preg_replace( '|{([^{}]*)}|', '', $this->tpldata[$id] );
tak aby nie doszło do takiej sytuacji i analogicznie z komentarzami
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.