하나 ...정규식 줄 내가 다시는 내 정신을 질문하려고 해요 요즘
내 정규식 옵션 줄 바꿈에 대한 일치하는 것을 거부 이유를 이해하지 못하는 휴식과 일치하지 않습니다. 코드 : (? 그것은 내가 0-1 경기를 제거 않을 경우 정규 표현식의 끝) :
$string = 'this is some template {$code}. nice!
{$varinnewline}
{if $bla}1{else}2{/if}
';
echo "<pre>";
preg_replace_callback("/\{([^\}]*)\}(\r\n)?/Us", function($matches) {
print_r($matches);
}, $string);
그것은 (다른 사람의 사이에서)이 출력 생산
Array
(
[0] => {$varinnewline}
[1] => $varinnewline
)
아니라이 :
Array
(
[0] => {$varinnewline}
[1] => $varinnewline
[2] =>
)
기본적으로 줄의 끝에 \ r \ n과 일치하는 정규식을 사용하고 싶습니다. (그 이유는 {}을 <? php?>에 변환 한 후?> 새 줄?>은 PHP 인터프리터에 의해 제거 된 것 같습니다.)
은 정규식은 안 뭔가를하고 있습니까? 귀하의 정규식 *하지 *해야 할 일이 뭔가? 당신이 무엇을 요구하는지 모르겠습니다 ... –
'm'수정자를 추가 해보십시오. – Halcyon
@Halcyon :'m' 수식어는 패턴에'^'또는'$'가 포함되어있는 경우에만 유용합니다. –