Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> atomy w wyrażeniu regularnym
Krzychur
post
Post #1





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.01.2004
Skąd: Łódź

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


Problem czysto teoretyczny.
Powiedzmy, że chcę zamienić na coś tekst pomiędzy "start a" i "koniec a" gdzie:
a = a-z9-9... ale nikt nie wie konkretnie co to jest
Np. $string =:
'-- start qwerty --jakis tekst-- koniec qwerty --'
Napisałem coś takiego z góry założonym przekonaniem, że działać to nie będzie:
  1. <?php
  2.  preg_replace('#-- start ([a-z0-9-_])+ --(.*?)-- koniec 1--#','',$string);
  3. ?>


Co powiniennem zrobić, aby funkcja działała po mojej myśli?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Michał2000
post
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 16.03.2005
Skąd: Płońsk

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


A nie poprostu:

  1. <?php
  2. preg_replace('#-- start ([a-z0-9-_])+ --$zmienna_z_poprawka-- koniec 1--#','',$string);
  3. ?>
Go to the top of the page
+Quote Post
Krzychur
post
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.01.2004
Skąd: Łódź

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


NIe nie.
Skrypt w ostatniej fazie wyczyszcza plik *.tpl z części kodu, którym nie kazano się wyświetlić. Oryginalny, nie przykładowy kod to np.:

<!-- IF show_prolog -->Prolog: {prolog}<!-- ENDIF show_prolog -->

Więc, chodzi mi o coś takiego, aby instrukcja warunkowa wyszukiwała tekst:
<!-- IF xyz -->(.*?)<!-- ENDIF xyz -->, tylko wiadomo, że xyz były takie same w obu przypadkach, żeby np. jeżeli mam kilka takich instrukcji nie skracała sobie pracy szukając najbliższego <!-- ENDIF ([a-z0-0-_])+.
Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Byles blisko na samym poczatku.. zgubil Cie maly szczegol:
  1. <?php
  2.  
  3. echo preg_replace('#-- start ([a-z0-9_]+) --(.*?)-- koniec 1 --#','',$string);
  4.  
  5. ?>

Plusa miales po nawiasie, a nie w jego srodku... hmm.. pomylka ?
Go to the top of the page
+Quote Post
Krzychur
post
Post #5





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.01.2004
Skąd: Łódź

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


Wielkie dzięki FiDO!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 02:26