dodaj tą stronę do ulubionych     
użytkownicy online 16, liczba odwiedzin: 1648949
książki i porady dla programistów i webmasterów porady dla budujących strony internetowe i webmasterów wagi

dołącz do modlących się o cud

poradnik programisty

taśmy zebra
taśmy zebra


wózki sklepowe

wagi vibra

Wagi dźwigowe
wagi dźwigowe


wagi ohaus

wózki transportowe
. Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów, zdjeć i innych elementów strony bez pisemnej zgody jest zabronione. wstecz poziom trudności: 4
nr porady: 122
Widok 1 Widok 2 Page copy protected against web site content infringement by Copyscape
Dlaczego należy odchodzić od stosowania instrukcji ereg w wyrażeniach regularnych w PHP na rzecz instrukcji preg_match. Dlaczego preg_match jest lepsze ?

Początkujący PHPowicze używają naprostszej instrukcji ereg do obsługi wyrażeń regularnych.
Instrukcja ereg została jednak zastąpiona przez preg_match() - funkcję opartą na dużo lepszym algorytmie z Perla o nazwie PCRE.

Funkcje preg działają dużo szybciej i nie mają w sobie błędów poprzednika (ereg).
Zobacz jakie to są różnice na stronie podręcznika PHP.
Podręcznik pokazuje wszystkie nowe instrukcje zaczynające się na preg_*. Link do podręcznika PHP.NET/REGEX

Dla osób nie znajacych angielskiego podajemy skrótowo zalety (za stroną: pornel.net)

  • Obsługuje dużo więcej wzorców, w tym bardzo przydatne „niezachłanne” dopasowywanie:
    ala.*kota w ereg złapie cały ciąg: „ala ma kota i jaś ma kota” i nic na to nie poradzisz. W preg można złapać samo „ala ma kota” za pomocą /ala.*?kota/ (te slashe to wymóg PERLA , patrz dalej).
  • Jest dużo szybsze (to ma znaczenie jeśli robisz parser). Jest nawet specjalny przełącznik S włączający optymalizację podczas kompilacji wzorców.
  • Obsługuje UTF-8 i np. /\pL\pM*/u łapie litery wraz z ich modyfikatorami. To mogą być nawet kilkunastobajtowe kombinacje liter i modyfikatorów, które tworzą wizualnie jeden znak.
  • Obsługuje asercje i warunkowe wzorce. /ala ma (?!kota)/ pasuje do „ala ma psa”, „ala ma kuku na muniu”, ale nie „ala ma kota”.
  • Bezpiecznie działa z danymi binarnymi, podczas gdy ereg() może ucinać stringi.
  • Jest ciągle rozwijane i wspierane, natomiast ereg() uznano za niewypał i jest trzymany tylko z litości nad starymi skryptami.
  • Składnia jest mniejwięcej kompatybilna z JavaScript i oczywiście Perl.

BTW: ereg("prosty tekst") nigdy nie miało prawa bytu i w preg też nie ma. Patrz strpos() i strstr().

W preg wyrażenie musi być otoczone parą takich samych znaków. Tradycyjnie używa się / (slash), ale przez to wyrażenia zawierające ścieżki albo zamykające tagi HTML muszą mieć dodatkowy backslash przed slashem w treści (\/), dlatego można wyrażenie otaczać innym znakiem, np. wykrzyknikiem.

Na samym końcu, za znakiem otaczającym wyrażenie, umieszcza się flagi/przegłączniki, które między innymi pozwalają dopasowywać niezależnie od wielkości liter (zastępując eregi):

p8eg-m55c3{'!DoWolN5WielKosC, Niom\!!i'};

Więcej: http://www.php.net/manual/en/ref.pcre.php

Page copy protected against web site content infringement by Copyscape
.
pomóż w walce z rakiem

tanie tonery

pojemniki na piasek

świece liturgiczne

meble warsztatowe

wózki magazynowe

tanie wagi elektroniczne

tanie drukarki zebra

wagi axis

wózki narzędziowe
wózki narzędziowe
  | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever