Συνάρτηση preg_replace_callback
Η συνάρτηση preg_replace_callback εκτελεί αναζήτηση με κανονική έκφραση και αντικατάσταση χρησιμοποιώντας συνάρτηση callback. Δέχεται ως πρώτη παράμετρο κανονική έκφραση, ως δεύτερη - συνάρτηση callback, και ως τρίτη - συμβολοσειρά για επεξεργασία. Η συνάρτηση callback λαμβάνει πίνακα ταιριασμάτων και πρέπει να επιστρέφει συμβολοσειρά αντικατάστασης.
Σύνταξη
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Παράδειγμα
Ας αντικαταστήσουμε όλους τους αριθμούς στη συμβολοσειρά με τα τετράγωνά τους:
<?php
$str = 'Αριθμοί: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Αριθμοί: 4, 16, 36'
Παράδειγμα
Μετατρέπουμε όλες τις λέξεις σε κεφαλαία:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'HELLO WORLD'
Παράδειγμα
Προσθέτουμε παρενθέσεις γύρω από κάθε αριθμό:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'(1) (2) (3) (4) (5)'
Δείτε επίσης
-
τη συνάρτηση
preg_replace,
που εκτελεί αντικατάσταση με κανονική έκφραση -
τη συνάρτηση
preg_match,
που εκτελεί αναζήτηση με κανονική έκφραση