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 
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

 

Preg_replace Kullanımı ile Sözcük veya Kelime Yer Değiştirme

<?php 
$metin="Ben sana mecburum bilemezsin <br>
Adını mıh gibi aklımda tutuyorum <br>
Büyüdükçe büyüyor gözlerin <br>
Ben sana mecburum bilemezsin <br>
İçimi seninle ısıtıyorum. ";
$metin=preg_replace("/yor\w+/i","yorsun",$metin);//yor... geçen gelimeler 
$metin=preg_replace("/bil\w+/i","sevdiğim",$metin);//bil.... geçen kelimeler 
echo $metin;

\w+ : Boşluk hariç numara ve harfler [a-zA-Z0-9_] içeren düzenli ifade kuralı

Çıktısı

Ben sana mecburum sevdiğim 
Adını mıh gibi aklımda tutuyorsun 
Büyüdükçe büyüyor gözlerin 
Ben sana mecburum sevdiğim 
İçimi seninle ısıtıyorsun.

Şiir : Atilla İlhan