경고 : preg_replace () : 알 수없는 수정 자 'g'


80

이 정규식에 오류가 있습니다 ...

$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~gim ' , "</CharacterStyleRange>", $strTmp);

오류

경고 : preg_replace () : 알 수없는 수정 자 'g'in ....

왜?

답변:


163

g는 암시 적입니다 preg_replace(). 포함 할 필요가 없습니다.


45

전역 플래그를 지정할 필요가 없습니다. 에서 문서 , 별도의 매개 변수 (이 $limit메이크업에 교체의 수를 지정하는 데 사용되는) :

limit 각 주제 문자열의 각 패턴에 대해 가능한 최대 대체. 기본값은 -1 (제한 없음)입니다.

따라서이 매개 변수에 양수를 지정하지 않으면 기본적으로 모든 항목을 대체합니다.

$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);

-2

/바꾸려는 문자열 의 앞에 문자 G가 있습니다.


이것은 "Glasshouse Images / Getty Images"에 대한 오류를 던졌습니다. 내 추측은 preg_ 이스케이프 문자로 보는 것입니다
Cparello
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.