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
'programing' 카테고리의 다른 글
| JQuery: div가 보이는 경우 (0) | 2023.10.16 |
|---|---|
| MinGW를 사용하여 C 프로그램을 명령줄에서 컴파일하는 방법은? (0) | 2023.10.16 |
| constchar* 변수의 값을 변경할 수 있는 이유는 무엇입니까? (0) | 2023.10.16 |
| 인라인 블록 요소가 라인의 나머지 부분을 채우도록 하는 방법은? (0) | 2023.10.16 |
| 워드프레스 관리 영역에서 메뉴 항목 레이블을 변경하시겠습니까? (0) | 2023.10.16 |