Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozszyfrowanie preg_match_All
tmk
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 15.04.2004
Skąd: w-wa

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


Witam, czy mógłby mi ktoś pomóc rozszyfrować pokolei wzorzec wyszukiwania, który jest podany w następującej preg_match_all:
Kod
preg_match_all
("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/",$temp, $match);

chodzi mi o zrozumienie tego:
Kod
"/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/"


z góry dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Kod
<dowolnyZnakLiterowy>DowolneZnaki123/\*$wszytkie</dowolnyZnakLiterowy>

Czyli
Kod
<otwarcie>Znaki</zamkniecie>

Patrzylem na szybko, ale mi sie wydaje ze oto chodzi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Radarek
post
Post #3





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


Jest niestety pewien haczyk w takim wyrazeniu.
Cytat
"/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/"

Otoz takie wyrazenie zapewne ma sluzyc do lapania czegos w stylu:
Cytat
<A>tresc</A>

Niestety wyrazenie podane wyzej zawiera pewien blad ktory moze [ale nie musi] spowodowac pewne zaklopotanie. Otoz dla wyrazenia:
Cytat
<A>tresc</A><B>cos</B><A>qwerty</A>

zostanie zlapany cala tresc a nie poszczegolne 3 czesci. Zachlanny operator * w polaczeniu z . stanowia bombe z opoznionym zaplonem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Nalezy zamienic go na niezachlanny operator *?.
Jest niestety pewien haczyk w takim wyrazeniu.
Cytat
"/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/"


Dlaczego napisalem ze takie wyrazenie nie musi spowodowac bledu? Jesli w 1 linijce nie bedzie takich samych znacznikow to wyrazenie regularne bedzie dzialac poprawnie (kropka nie lapie defaultowo znaku nowej lini).

Ten post edytował Radarek 11.06.2005, 14:03:18
Go to the top of the page
+Quote Post
tmk
post
Post #4





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 15.04.2004
Skąd: w-wa

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


ok, ale ja niebardzo kapuję, co znaczy chociażby:
Kod
<([\w]+)[^>]*>

po co te nawiasy kwadratowe [, po co \w ?
nie mogę tego znaleźć w manualu, wytłumaczy ktoś jak to się ma do łapanych snaków?
Go to the top of the page
+Quote Post
hwao
post
Post #5


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




porecam kurs wyrazen regularnych, jeden z userow forum napisal bardzo dobry!
Go to the top of the page
+Quote Post
Radarek
post
Post #6





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

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


A ja polecam ksiazke:
http://helion.pl/ksiazki/wyrare.htm
Po przeczytaniu bedziesz wiedziec wszystko o wyrazeniach regularnych :-). Niestety na helionie maja juz wyczerpnay naklad.
Go to the top of the page
+Quote Post
vala
post
Post #7





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 12.01.2005

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


http://br.dmkhosting.com/bendi/articles/php/regex/1 <-kurs


a ja sie zastanawiam czy sposob sprawdzania maila jest dobry ?


  1. <?php
  2.  
  3. $mail ='mail_argh@gdziestam.xyz';
  4.  
  5. echo preg_replace('/([w]).+(@).([w]).+(.).+([w])/',&#092;"good\", $mail);
  6.  
  7. ?>
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: 20.12.2025 - 20:12