Ben yazdığınızdan hiçbir şey anlamadım, kodlarınızı paylaşırsanız yardımcı olalım
str yerine preg ile yapabilirsin aşağıdaki örnekteki gibi.
echo preg_replace('/<a href="(.*)">(.*)</a>/','<a href="$1">degisen</a>',"metin");
Tam olarak kullandığım yapı.
$result = str_replace(array_map('maskit',array_keys($arr)),a rray_values($arr),$text);