Forum und email

Regular Expression συναρτήσεις (Εκτεταμένο POSIX)

Εισαγωγή

Note: Το PHP υποστηρίζει επίσης και regular expressions με συντακτικό συμβατό με την Perl χρησιμοποιώντας τις συναρτήσεις PCRE. Αυτές οι συναρτήσεις υποστηρίζουν non-greedy matching, assertions, conditional subpatterns, και πολλά άλλα χαρακτηριστικά που δεν υποστηρίζονται από το εκτεταμένο POSIX συντακτικό των regular expressions.

Warning

Αυτές οι συναρτήσεις regular expression δεν είναι binary-safe. Οι PCRE συναρτήσεις είναι.

Οι regular expressions χρησιμοποιούνται για πολύπλοκη επεξεργασία των string στο PHP. Οι συναρτήσεις υποστήριξης των regular expressions είναι οι παρακάτω:

Αυτές οι συναρτήσεις δέχονται ένα regular expression string σαν το πρώτο τους όρισμα. Το PHP υλοποιεί το εκτεταμένο POSIX συντακτικό των regular expressions όπως ορίζεται από το POSIX 1003.2. Για μια πλήρη περιγραφή των POSIX regular expressions δείτε τις man pages regex που περιλαμβάνονται στον υποκατάλογο regex της διανομής του PHP. Είναι αρχεία σε μορφή manpage, οπότε θα πρέπει να κάνετε κάτι σαν man /usr/local/src/regex/regex.7 για να τα διαβάσετε.

Απαιτήσεις

Δεν χρειάζονται εξωτερικές βιβλιοθήκες για να γίνει build αυτή η επέκταση.

Εγκατάσταση

Για να ενεργοποιήσετε την υποστήριξη regexp κατά την εγκατάσταση του PHP χρησιμοποιήστε την επιλογή --with-regex[=ΤΥΠΟΣ]. Ο ΤΥΠΟΣ μπορεί να είναι είτε system, είτε apache, είτε php. Ο προκαθορισμένος τύπος είναι php.

Note: Μην αλλάζετε τον ΤΥΠΟ εκτός κι αν ξέρετε καλά τι κάνετε.

Η έκδοση για windows της PHP έχει ενσωματωμένη υποστήριξη για αυτή την επέκταση. Δεν χρειάζεται να φορτώσετε κάποια πρόσθετη επέκταση για να χρησιμοποιήσετε αυτές τις συναρτήσεις.

Ρυθμίσεις κατά την εκτέλεση

Αυτή η επέκταση δεν έχει directives ρύθμισης ορισμένα στο php.ini.

Τύποι Πόρων

Αυτή η επέκταση δεν έχει resource τύπους ορισμένους.

Προκαθορισμένες Σταθερές

Αυτή η επέκταση δεν έχει σταθερές ορισμένες.

Παραδείγματα

Example#1 Παραδείγματα Regular Expression

ereg ("abc", $string);
/* Επιστρέφει true αν
   οπουδήποτε μέσα στο $string βρεθεί το "abc". */

ereg ("^abc", $string);
/* Επιστρέφει true αν το "abc"
   βρεθεί στην αρχή του $string. */

ereg ("abc$", $string);
/* Επιστρέφει true αν το "abc"
   βρεθεί στο τέλος του $string. */

eregi ("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);
/* Επιστρέφει true αν ο browser
   είναι Netscape 2, 3 ή MSIE 3. */

ereg ("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string,$regs);
/* Χωρίζει στα κενά το $string σε τρείς λέξεις,
   τις $regs[1], $regs[2] και $regs[3]. */

$string = ereg_replace ("^", "<br />", $string);
/* Εισάγει ένα <br /> tag στην αρχή του $string. */

$string = ereg_replace ("$", "<br />", $string);
/* Προσθέτει ένα <br /> tag στο τέλος του $string. */

$string = ereg_replace ("\n", "", $string);
/* Αφαιρεί όλους τους χαρακτήρες
   αλλαγής γραμμής από το $string. */

Δείτε επίσης

Για regular expressions με συντακτικό συμβατό με Perl δείτε τις συναρτήσεις PCRE. Αν πάλι θέλετε πιο απλό pattern matching στο στυλ του shell υπάρχει η συνάρτηση fnmatch().

Table of Contents

  • ereg_replace — Αντικατάσταση regular expression
  • ereg — ταίριασμα regular expression
  • eregi_replace — αντικατάσταση regular expression χωρίς έλεγχο κεφαλαίων-μικρών
  • eregi — ταίριασμα regular expression χωρίς έλεγχο κεφαλαίων-μικρών
  • split — χωρισμός ενός string σε array με βάση ένα regular expression
  • spliti — χωρισμός ενός string σε array με βάση ένα regular expression χωρίς έλεγχο κεφαλαίων-μικρών
  • sql_regcase — δημιουργία ενός regular expression για ταίριασμα χωρίς έλεγχο κεφαλαίων-μικρών