Search and replace multiple values with multiple/different values in PHP5? Search and replace multiple values with multiple/different values in PHP5? arrays arrays

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); 


$string = 'blah blarh bleh bleh blarh';$trans = array("blah" => "blerh", "bleh" => "blerh");$result = strtr($string,$trans);

You can check the manual for detailed explanation.


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;