2010-08-16 2 views
5

죄송합니다,하지만 난 .. 내가 찾을 수 있습니다 나는 여전히 알아낼 수 없습니다 preg_replace이다에 대한 모든 정보를 통해 찾아 봤는데 내가 예를 들어, 다음과 같이, 많은 문자열이 있습니다Preg_replace, 패턴의 일부만 바꾸기()? 이 기본적인 질문에 대한

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

그리고 나는이 작업을 수행 할 때, 그것이 내가 그것을 할 예상대로 전체 패턴, (의 단지 부분)를 대체 .. 난 그냥() .. 감사

$pattern= '/#.*tjs.*\{.*(.*)\}/imsU'; 
    $replacement= "test"; 
    $return_string = preg_replace ($string, $pattern, $replacement); 
에서 부품을 교체 할 수있는 방법 궁금

예상 교체 문자열 :

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

예상 교체 문자열을 게시 할 수 있습니까? – kennytm

답변

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

감사합니다. 이제 PHP preg_replace 페이지의 예제에서 $ 1과 $ 3에 대한 언급을 보았습니다. 그러나 {with with some variant syntax}를 사용하여 – Rick

+0

을 끄집어 냈습니다. 대신에 \ 1과 \ 3을 사용할 수도 있습니다. $ 1 및 $ 3 – stillstanding