Συνάρτηση preg_replace
Η συνάρτηση preg_replace αναζητά σε μια συμβολοσειρά ταιριάσματα με κανονική έκφραση
και τα αντικαθιστά με την καθορισμένη συμβολοσειρά. Πρώτη παράμετρο δέχεται την κανονική
έκφραση για αναζήτηση, δεύτερη - τη συμβολοσειρά αντικατάστασης, τρίτη - την αρχική συμβολοσειρά.
Προαιρετικά μπορεί να καθοριστεί όριο αντικαταστάσεων και μεταβλητή για καταμέτρηση αντικαταστάσεων.
Σύνταξη
preg_replace(pattern, replacement, subject, [limit], [count]);
Παράδειγμα
Ας αντικαταστήσουμε όλους τους αριθμούς στη συμβολοσειρά με τον χαρακτήρα 'X':
<?php
$str = 'a1b2c3';
$res = preg_replace('/\d/', 'X', $str);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'aXbXcX'
Παράδειγμα
Ας αντικαταστήσουμε μόνο τις πρώτες 2 ταιριάσματα:
<?php
$str = 'a1b2c3';
$res = preg_replace('/\d/', 'X', $str, 2);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'aXbXc3'
Παράδειγμα
Χρήση αντίστροφων αναφορών στην αντικατάσταση:
<?php
$str = 'Hello World';
$res = preg_replace('/(\w+)\s(\w+)/', '$2, $1', $str);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'World, Hello'
Παράδειγμα
Καταμέτρηση αριθμού αντικαταστάσεων που πραγματοποιήθηκαν:
<?php
$str = 'a1b2c3';
$count = 0;
$res = preg_replace('/\d/', 'X', $str, -1, $count);
echo "Result: $res, Replacements: $count";
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Result: aXbXcX, Replacements: 3'
Δείτε επίσης
-
τη συνάρτηση
preg_match,
που εκτελεί αναζήτηση με βάση κανονική έκφραση -
τη συνάρτηση
preg_split,
που διαχωρίζει μια συμβολοσειρά με βάση κανονική έκφραση