- preg_replace_callback: documentation ( source)
<?php
$words=array("ann@ibbeck.de"=>"kan", "Petermann@ibbeck.de"=>"ap", "_animal_sound_"=>"MEooow");
$source="ann@ibbeck.de , Petermann@ibbeck.de";
echo (preg_replace_callback("/\b_(\w*)_\b/", function($match) use ($words) { if(isset($words[$match[0]])){
return ($words[$match[0]]);
}else{
return($match[0]);
}
}, $source));
?>