Eğer değiştirme dizisi ve olay dizisi uzunluğu aynı değilse, son eleman atanır.
<?php class metin{ function metin_degistir($ara,$degistir,$olay,$metin){ $finalmetin=""; $list=explode($ara,$metin); if(is_string($degistir)) $degistir=explode(",",$degistir); if(is_string($olay)) $olay=explode(",",$olay); if(is_array($olay)||is_metin($olay)){ $i=0; $degistir_yeni=""; while($i<count($olay)){ if(isset($degistir[$i])) $degistir_yeni=$degistir[$i]; @$list[$olay[$i]].=$degistir_yeni; $i++; } $i=0; while($i<count($list)-1){ if($i==@$olay[$i]) $finalmetin.=$list[$i]; else $finalmetin.=$list[$i]; $i++; } }else{ $list[$olay].=$degistir; $i=0; while($i<count($list)-1){ if($i==$olay) $finalmetin.=$list[$i]; else $finalmetin.=$list[$i]; $i++; } } return $finalmetin; } } $metindegistir=new metin; echo $metindegistir->metin_degistir("sen",["ali","ayşe"],[0,1,2],"neredesin sen neredesin sen neredesin sen neredesin sen"); ?>
Çıktısı
neredesin ali neredesin ayşe neredesin ayşe neredesin