[PHP] Wyrażenie reg. PERL, nie rozumiem


(pain3hp) #1

Przerabiam książkę programowania PHP, umiem już dosyć dużo jednak docieram do rozdziału "wyrażenia regularne PERL". Słyszałem już kiedyś to zagadnienie jednak niestety nie wiem do czego się to stosuje i w czym może być pomocne, czy chodzi np o zabezpieczenie głupich wpisów np przy formularzu rejestracji?

Może ktoś jest obeznany w tym temacie bo książka którą kupiłem tylko wspomina i to dosyć słabo o PERL. Stworzyłem taki skrypt

http://www.testy.3hp.pl/pcre.php może ktoś mi to wytłumaczyć na języku laika :slight_smile: ?

Dzięki


(Sitemaster) #2

http://www.google.pl/search?client=oper ... 8&oe=utf-8

http://www.google.pl/search?client=oper ... 8&oe=utf-8

ogólnie wyrażenia regularne to zaawansowane funkcje dopasowania wzorca. Służą zarówno do walidacji - sprawdzania zgodności stringa z zadeklarowanym wzorem, jak i do wyszukiwania (i zamiany) w tekście ciągów zgodnych z wrorem.

sprawdzić tak mozesz np. poprawność formatu daty, godziny, kodu pocztowego, nr. telefonu i wielu innnych rzeczy.

Możesz też wyszukiwać większe fragmenty tekstu, kodu źródłowego itd.

Składnię masz np. tutaj:

http://www.piotrosz.aspnet.pl/post/Wyra ... gawka.aspx

http://docs.python.org/library/re.html

...


(pain3hp) #3

Dzięki

a jak np sprawdzić czy w polu username nie ma znaczków htmla czyli np

[/code]


chyba wystarczy zablokować

[code]<>

ostatnio zrobiłem skrypt rejestracji i jakiś bot w ciągu 5minut założyl ponad 5000kont ktore na dodatek były odczytywane przez strone jako kod html i zostały tak powpisywane ze byl jeden wielki chaos... :confused:


(Sitemaster) #4

Tagi możesz odfiltrować funkcją strip_tags http://php.net/manual/en/function.strip-tags.php - wyrażeń regularnych do tego nie potrzeba.

Jezeli chcesz filtrować tagi wyrażeniami regularnymi to tu masz przyklad http://forums.devshed.com/php-developme ... 75323.html