programing

preg_replace를 사용하여 첫 번째 매치만 바꿉니다.

javajsp 2023. 10. 16. 21:31

preg_replace를 사용하여 첫 번째 매치만 바꿉니다.

다음과 유사한 구조의 문자열이 있습니다.'aba aaa cba sbd dga gad aaa cbz'. 문자열은 외부 소스에서 가져온 것이기 때문에 매번 조금씩 다를 수 있습니다.

처음에 발생한 것만 교체하고 싶습니다.'aaa'다른 사람들은 안 됩니다가능합니까?

preg_replace의 선택적인 네 번째 매개변수는limit:

preg_replace($search, $replace, $subject, 1);

사용할 수 있습니다.limit의 의론preg_replace이것을 위해 그것을 설정합니다.1최대 한 번의 교체가 이루어지도록 합니다.

$new = preg_replace('/aaa/','replacement',$input,1);

예를 들어, out $ content는 다음과 같습니다.

START 
FIRST AAA 
SECOND AAA

1) 사용할 경우:

$content = preg_replace('/START(.*)AAA/', 'REPLACED_STRING', $content);

시작부터 마지막 AAA까지 모든 것이 변경되며, 결과는 다음과 같습니다.

REPLACED_STRING

2) 사용할 경우:

$content = preg_replace('/START(.*?)AAA/', 'REPLACED_STRING', $content);

결과는 다음과 같습니다.

REPLACED_STRING 
SECOND AAA

언급URL : https://stackoverflow.com/questions/6729710/replace-only-first-match-using-preg-replace