Aynı Uzunlukta Olmayan Dizilerde Yer Değiştirme

Eğer değiştirme dizisi ve olay dizisi uzunluğu aynı değilse, son eleman atanır.

PHP
43 lines
<?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");
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
neredesin ali neredesin ayşe neredesin ayşe neredesin
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.