2010-08-16 11 views
5

Üzgünüm ama .. bulabilirim ve hala bu anlamaya olamaz preg_replace hakkında tüm bilgi aradım ben örneğin, böyle büyük bir dizesi vardır:Preg_replace, sadece() içindeki desenin yerini alıyor mu? Bu temel soru için

$string= '# tjs { fassdaf } #fsk { fssf} # fskff { casf }'; 

Ve böyle yaptığımda, ben bunu yapmak beklediğiniz gibi tüm desen, (içinde sadece bir parçası) yerini .. ben sadece() .. teşekkürler

$pattern= '/#.*tjs.*\{.*(.*)\}/imsU'; 
    $replacement= "test"; 
    $return_string = preg_replace ($string, $pattern, $replacement); 
yer değiştirebilir nasıl merak ediyorum

beklenen beklenen dizi:

'# tjs {test} #fsk { fssf} # fskff { casf }'; 
+0

Beklenen dizgiyi de gönderebilir misiniz? – kennytm

cevap

3
$pattern= '/(#\s*tjs\s*\{\s*)(.*?)(\s*\})/imsU'; 
$replacement= "test"; 
$return_string = preg_replace($pattern,'$1'.$replacement.'$3',$string); 
+1

Teşekkürler, şimdi anlıyorum, php preg_replace sayfasında bir örnekte $ 1 ve $ 3 bahsini gördüm ama bazı garip sözdizimi kullandılar {bu yüzden bana – Rick

+0

'u attığımı düşünüyorum, ayrıca \ 1 ve \ 3'ü de kullanabilirsiniz 1 dolar ve 3 dolar – stillstanding

İlgili konular