a już znalazłem stronę a w niej powody, dlaczego warto używać preg_match(), a nie ereg()
Cytat
- 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 taki poperlowy spadek, patrz niżej). - 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.