Forum und email

str_replace

(PHP 4, PHP 5)

str_replace — Αντικατάσταση όλων των εμφανίσεων του search string από το replace string

Περιγραφή

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int $&count ] )

Η συνάρτηση αυτή επιστρέφει ένα string ή έναν πίνακα, όπου όλες οι εμφανίσεις του search string στο subject string έχουν αντικατασταθεί από τη δοσμένη τιμή replace . Εάν δεν επιθυμείτε περίπλοκους κανόνες αντικατάστασης, θα πρέπει να χρησιμοποιείτε αυτή τη συνάρτηση αντί της ereg_replace() ή της preg_replace().

Από την PHP 4.0.5, κάθε παράμετρος της συνάρτησης str_replace() μπορεί να είναι πίνακας.

Warning

Στις εκδόσεις της PHP πριν την 4.3.3 υπήρχε ένα bug όταν γινόταν χρήση πινάκων για τις παραμέτρους search και replace , λόγω του οποίου οι κενοί δείκτες του search προσπερνιόντουσαν χωρίς να υπάρχει αντίστοιχη αύξηση στον εσωτερικό δείκτη του πίνακα replace . Αυτό διορθώθηκε στην PHP 4.3.3, οποιαδήποτε scripts βασίζονταν σε αυτό το bug θα πρέπει να αφαιρούν τις κενές τιμές search πριν την κλήση αυτής της συνάρτησης προκειμένου να υπάρχει προσομοίωση της κανονικής συμπεριφοράς.

Εάν η παράμετρος subject είναι ένας πίνακας, τότε η έρευνα και η αντικατάσταση εκτελείται για κάθε στοιχείο του subject , και η επιστρεφόμενη τιμή είναι επίσης πίνακας.

Εάν η παράμετροι search και replace είναι πίνακες, τότε η συνάρτηση str_replace() παίρνει μία τιμή από κάθε πίνακα και τις χρησιμοποιεί για έρευνα και αντικατάσταση στον πίνακα subject . Εάν η replace έχει λιγότερες τιμές από την search , τότε χρησιμοποιείται ένα κενό string για τις υπόλοιπες τιμές αντικατάστασης. Εάν η search είναι ένας πίνακας και η replace ένα string, τότε χρησιμοποιείται αυτό το string για κάθε τιμή του search .

Example#1 Παραδείγματα χρήσης της str_replace()

<?php
// Provides: <body text='black'>
$bodytag str_replace("%body%""black""<body text='%body%'>");

// Provides: Hll Wrld f PHP
$vowels = array("a""e""i""o""u""A""E""I""O""U");
$onlyconstants str_replace($vowels"""Hello World of PHP");

// Provides: You should eat pizza, beer, and ice cream every day
$phrase  "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits""vegetables""fiber");
$yummy   = array("pizza""beer""ice cream");

$newphrase str_replace($healthy$yummy$phrase);

// Use of the count parameter is available as of PHP 5.0.0
$str str_replace("ll""""good golly miss molly!"$count);
echo 
$count// 2
?>

Note: Αυτή η συνάρτηση είναι binary-safe.

Note: Από την PHP 5.0.0 ο αριθμός των ταιριασμένων και αντικατεστημένων needles θα δίνεται από την παράμετρο count η αποία περνάται κατ' αναφορά. Πριν την PHP 5.0.0 αυτή η παράμετρος δεν είναι διαθέσιμη.

Ανατρέξτε επίσης στις: str_ireplace(), substr_replace(), ereg_replace(), preg_replace(), και strtr().