Is str_replace supposed to work when the subject (haystack) is an array of arrays, not just a simple array?
Here's an example:
$old_array[0] = array("needle1","needle2","needle3");
$old_array[1] = array("needle4","needle5","needle6");
$new_array = str_replace("needle","pin", $old_array);
echo...