Πώς να χρησιμοποιήσετε τη συνάρτηση preg_match_all() στην PHP

Pos Na Chresimopoiesete Te Synartese Preg Match All Sten Php



preg_match_all() είναι μια ενσωματωμένη συνάρτηση στην PHP που χρησιμοποιείται για να ταιριάζει με το συγκεκριμένο μοτίβο σε μια συμβολοσειρά. Μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση για να εκτελέσετε αντιστοιχίσεις τυπικών εκφράσεων και να εξαγάγετε δεδομένα από συμβολοσειρές. Μπορεί να εξοικονομήσει χρόνο και προσπάθεια σε περιπτώσεις όπου χρειάζεται να αναζητήσετε πολλαπλές εμφανίσεις ενός μοτίβου και χρησιμοποιείται ευρέως σε εφαρμογές ανάλυσης κειμένου και εξαγωγής δεδομένων της PHP.

Σύνταξη

Ακολουθεί η σύνταξη για τη χρήση του preg_match_all σε PHP:







preg_match_all ( πρότυπο , εισαγωγή , σπίρτα , σημαίες , αντισταθμίζεται )

ο preg_match_all δέχεται τις ακόλουθες παραμέτρους, τρεις είναι υποχρεωτικές παράμετροι και δύο είναι προαιρετικές:



  • πρότυπο : Είναι η υποχρεωτική παράμετρος. περιέχει την τυπική έκφραση που πρέπει να αναζητηθεί.
  • εισαγωγή : Η δεύτερη είναι επίσης υποχρεωτική παράμετρος, καθώς είναι η συμβολοσειρά στην οποία εκτελείται η αναζήτηση.
  • σπίρτα : Αποθηκεύει την έξοδο στον πίνακα που περιέχει όλες τις αντιστοιχίσεις.
  • σημαίες : Περιγράφει πώς είναι δομημένος ο πίνακας αναζήτησης ή αντιστοιχιών. Τροποποιεί τη συμπεριφορά της αναζήτησης συνάρτησης. Μπορούν να χρησιμοποιηθούν οι ακόλουθες σημαίες:
  • αντισταθμίζεται : Είναι η προαιρετική παράμετρος που καθορίζει την αρχική θέση της αναζήτησης.
Σημαία Περιγραφή
PREG_PATTERN_ORDER Ο πίνακας που προκύπτει έχει όλες τις αντιστοιχίες ενός πίνακα για κάθε στοιχείο της κανονικής έκφρασης.
PREG_SET_ORDER Τα στοιχεία του πίνακα αντιστοιχίσεων περιέχουν το καθένα αντιστοιχίσεις από κάθε ομαδοποίηση για έναν από τους αγώνες που βρέθηκαν στη συμβολοσειρά.
PREG_OFFSET_CAPTURE Επιστρέφει τις αντιστοιχίες με τις αντίστοιχες θέσεις μετατόπισης byte στη συμβολοσειρά θέματος.
PREG_UNMATCHED_AS_NULL Τα μη αντιστοιχισμένα μοτίβα θα αναφέρονται ως NULL.

Παράδειγμα 1

Εξετάστε το ακόλουθο παράδειγμα χρήσης του preg_match_all() λειτουργία σε PHP. Σε αυτόν τον κώδικα, αναζητούμε τη λέξη Linux στη χορδή. Αυτή η συνάρτηση εξάγει τον αριθμό των αντιστοιχιών που βρέθηκαν σε σχέση με τη λέξη Linux :





$string = 'Γεια σας λάτρεις του Linux, Καλώς ήρθατε στο LinuxHint!' ;

$μοτίβο = '/Linux/' ;

$ταιριάζουν = πίνακας ( ) ;

preg_match_all ( $μοτίβο , $string , $ταιριάζουν ) ;

print_r ( $ταιριάζουν [ 0 ] ) ;

?>





Παράδειγμα 2

Σε αυτό το παράδειγμα κώδικα, αναζητούμε τη λέξη E στη συμβολοσειρά. Το μικρό i χρησιμοποιείται για να κάνει την αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων. Θα επιστρέψει όλες τις εμφανίσεις συμβολοσειρών της λέξης E ή e:



$string = 'ΚΑΛΩΣ ΟΡΙΣΑΤΕ ΣΤΙΣ ΗΠΑ.' ;

$patternRex = '/E/i' ;

$matchΒρέθηκε = preg_match_all ( $patternRex , $string , $ταιριάζουν ) ;

αν ( $matchΒρέθηκε ) {

ηχώ '
'  ; 

print_r ( $ταιριάζουν ) ;

}

?>



Παράδειγμα 3

Εάν το μοτίβο που αναζητάτε δεν υπάρχει στη συμβολοσειρά, η συνάρτηση θα επιστρέψει false, υποδεικνύοντας ένα σφάλμα. Για να το χειριστείτε αυτό, μπορείτε να χρησιμοποιήσετε δηλώσεις if-else. Εάν το μοτίβο δεν βρεθεί, μπορείτε να εκτυπώσετε ένα μήνυμα χρησιμοποιώντας τη δήλωση else για να ενημερώσετε τον χρήστη ότι το μοτίβο δεν βρέθηκε.



$string = 'Η PHP είναι μια δημοφιλής γλώσσα σεναρίου' ;

$patternRex = '/κατούρημα/' ;

$matchΒρέθηκε = preg_match_all ( $patternRex , $string , $ταιριάζουν ) ;

αν ( $matchΒρέθηκε ) {

ηχώ '
'  ; 

ηχώ 'Βρέθηκε ταίριασμα.' ;

print_r ( $ταιριάζουν ) ;

} αλλού {

ηχώ 'Δεν βρέθηκε αντιστοιχία.' ;

}

?>

Σημείωση : Ο <προ> Η ετικέτα στον παραπάνω κώδικα χρησιμοποιείται για τη μορφοποίηση της εξόδου.

Συμπέρασμα

Οι κανονικές εκφράσεις είναι ένα ισχυρό εργαλείο για την αναζήτηση και το χειρισμό κειμένου στην PHP. ο preg_match_all() Η συνάρτηση είναι μια ενσωματωμένη συνάρτηση PHP που χρησιμοποιείται για να εκτελέσει μια αντιστοίχιση τυπικής έκφρασης με μια συμβολοσειρά και να ανακτήσει όλες τις εμφανίσεις του μοτίβου και εάν το μοτίβο δεν υπάρχει, θα επιστρέψει ψευδές. Κατανοώντας το preg_match_all() Η λειτουργία θα βοηθήσει τους χρήστες να χειρίζονται και να επεξεργάζονται καλύτερα δεδομένα κειμένου στην PHP.