lMarjinal adlı üyeden alıntı: mesajı görüntüle
Tamamdır hocam. Teşekkür ederim. Müsait olduğunuz zaman bakarsanız sevinirim. Pazar akşamına kadar yetiştirmem gerekiyor
Str_replace kullanmak yerine karakter sayısı kadar döngüye alıp manuel işlem yaparsanız metnin sayıya dönüşmesinden sonra tekrar replace uygulanmasını önlemiş olursunuz.

$metin = "örnek metin 1289495165";
$bul = array("a","b","c","ç","d","e","f","g","ğ","h","ı","i","j","k","l","m","n","o","ö","p","r","s","ş","t","u","ü","v","y","z",".",",","!","?","(",")","'"," ","1","2","3","4","5","6","7","8","9","0");
$degistir = array(1511,1517,1523,1529,1535,1541,1547,1553,1559,1565,1571,1577,1583,1589,1595,1601,1607,1613,1619,1625,1631,1637,1643,1649,1655,1661,1667,1673,1679,1685,1691,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1793);

$yeni_metin = '';

for($i = 0; $i<mb_strlen($metin); $i++)
{
	$karakter = mb_substr($metin, $i, 1, 'UTF-8');
	$ara = array_search($karakter, $bul);

	if($ara !== false)
	{
		$yeni_metin .= $degistir[$ara];
	}
	else
	{
		$yeni_metin .= $karakter;
	}
}

echo $yeni_metin;
Fazla vaktim olmadığı için kontrol etme imkânım olmadı ancak sorun olmaması gerekiyor. Siz de denedikten sonra yazabilirseniz yardımcı olmaya çalışırım.