Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [regex] Wyłączanie całego wyrazu z wyrażenia
Zakrn
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 20.09.2003

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


Eh... wysiadam. :cry: Próbuję wymęczyć pewne wyrażenie regularne.
Kod
/<poczatek>(.*)</koniec>/Us

Chodzi o to, żeby powyższe wyrażenie nie dopasowywało ciągów, w których pomiędzy tagami <poczatek> i </koniec> wystapi znów tag <poczatek>. Próbowałem wszystkich sposobów, ale nie wiem jak wyłączyć z ciagu cały wyraz, a nie pojedyńcze znaki.
Pomóżcie, proszę!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zulus
post
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

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


też miałem ten problem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . Oto rozwiązanie:
[php:1:2a0309cc3a]<?php
$text = '1 slowo [ php ]1 kod[ /php ] 2 slowo [ php ]2 kod[ /php ] 3 slowo';
preg_match_all("#
  1. <?php
  2. (.*?)
  3. ?>
#i", $text, $matches);
print_r($matches);
?>[/php:1:2a0309cc3a]


Wynik jest w tablicy $matches...
Poczytaj jeszcze o samej funkcji preg_match_all, bo ma opcjonalny parametr który często się przydaje...
?>[/php]
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.12.2025 - 04:29