Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> preg replaca
deniol13
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
deniol13
post
Post #3





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:50