0
[[
과 ]]
사이의 모든 것을 콜백 함수로 바꿀 다음 정규 표현식을 사용하고 있습니다.{} 사이의 내용을 바꾸는 PHP 정규식
$str = 'this is the text that {i want{to} replace this text} from it';
echo preg_replace('/ \{ ((?: [^{}]* | (?0))+) \} /x', 'REPLACE TEXT', $str);
//=> this is the text that REPLACE TEXT from it
이 정규식 : 중첩 된 괄호와 함께 작동합니다 답변을 게시
preg_replace_callback('~\[\[((?>[^]]++|](?!]))*)]]~', function ($m) use ($that) {
return "REPLACE TEXT"; }, $layout);
다시 시도해 편집하십시오. http://regex101.com/r/qN3sE7 –
감사합니다. 매력처럼 작동합니다! +1 –
중첩 대괄호로도 사용할 수 있습니까? – anubhava