$string = \":abc and :def have apples.\";
$replacements = array(\'Mary\', \'Jane\');
should become:
Mary and Jane have apples.
Try this
$to_replace = array(':abc', ':def', ':ghi');
$replace_with = array('Marry', 'Jane', 'Bob');
$string = ":abc and :def have apples, but :ghi doesn't";
$string = strtr($string, array_combine($to_replace, $replace_with));
echo $string;
here is result: http://sandbox.onlinephpfunctions.com/code/7a4c5b00f68ec40fdb35ce189d26446e3a2501c2