Συνάρτηση preg_split

Η συνάρτηση preg_split χωρίζει μια συμβολοσειρά σε στοιχεία πίνακα, χρησιμοποιώντας μια κανονική έκφραση για την εύρεση των διαχωριστικών. Ως πρώτη παράμετρο δέχεται την κανονική έκφραση, ως δεύτερη - την αρχική συμβολοσειρά. Η τρίτη προαιρετική παράμετρος ορίζει τον αριθμό των στοιχείων του πίνακα στο τελικό αποτέλεσμα. Η τέταρτη προαιρετική παράμετρος ορίζει τις σημαίες που αλλάζουν τη συμπεριφορά της συνάρτησης.

Σύνταξη

phppreg_split(pattern, subject, [limit], [flags]);

Σημαίες

Σημαία Σταθερά Περιγραφή
PREG_SPLIT_NO_EMPTY 1 Επιστρέφει μόνο τα μη κενά μέρη μετά τον διαχωρισμό.
PREG_SPLIT_DELIM_CAPTURE 2 Παγιδεύει και επιστρέφει τα μέρη της αντιστοίχισης με υπομοτίβους στην κανονική έκφραση.
PREG_SPLIT_OFFSET_CAPTURE 4 Για κάθε επιστρεφόμενο μέρος προσθέτει τη θέση του στην αρχική συμβολοσειρά.

Παράδειγμα

Διαχωρίζουμε μια συμβολοσειρά με κόμματα:

php<?php
  $res = preg_split('/,/', 'a,b,c,d,e');
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php['a', 'b', 'c', 'd', 'e']

Παράδειγμα

Διαχωρίζουμε μια συμβολοσειρά με οποιοδήποτε κενό χαρακτήρα με περιορισμό του αριθμού των στοιχείων:

php<?php
  $res = preg_split('/\s+/', '1 2 3 4 5', 3);
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php['1', '2', '3 4 5']

Παράδειγμα

Χρήση της σημαίας PREG_SPLIT_NO_EMPTY για τον αποκλεισμό κενών στοιχείων:

php<?php
  $res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php['a', 'b', 'c', 'd']

Δείτε επίσης

  • τη συνάρτηση preg_match,
    που εκτελεί αναζήτηση με κανονική έκφραση
  • τη συνάρτηση explode,
    που διαχωρίζει μια συμβολοσειρά με απλό διαχωριστικό