Search and replace multiple values with multiple/different values in PHP5?
You are looking for str_replace()
.
$string = 'blah blarh bleh bleh blarh';$result = str_replace( array('blah', 'blarh'), array('bleh', 'blerh'), $string);
// Additional tip:
And if you are stuck with an associative array like in your example, you can split it up like that:
$searchReplaceArray = array( 'blah' => 'bleh', 'blarh' => 'blerh');$result = str_replace( array_keys($searchReplaceArray), array_values($searchReplaceArray), $string);
IN CASE some one is looking for replacing same strings with different values ( per occurence ).. Example, to replace all ## by numbers++ OR values from an array-
$split_at = '##';$string = "AA ## BB ## CC ## DD";$new_string = '';// echo $string;$replace_num = 1;$replace_arr = ['first' , 'second' , 'third'];$split_at_cnt = substr_count($string, $split_at);for ($split=0; $split <= $split_at_cnt; $split++){ $new_string .= str_replace('##', ($replace_num++)." : ".$replace_arr[$split], substr( $string, 0, strpos($string, $split_at)+strlen($split_at))); $string = substr($string, strpos($string, $split_at)+strlen($split_at));}echo $new_string;