PHP를 사용하여 단어 일치를 기반으로 텍스트 파일의 줄 바꾸기
줄 번호를 알 수 없는 시나리오에서 단어를 기반으로 특정 줄 바꾸기 일치하는 것은 어려운 작업이 될 수 있습니다. 다행스럽게도 PHP는 이 상황을 해결하기 위한 몇 가지 효과적인 접근 방식을 제공합니다.
더 작은 파일의 경우(메모리에 적합):
- 전체 파일을 다음 배열로 읽어옵니다. file('myfile')을 사용하여 줄을 만듭니다.
-
다음과 같이 원하는 줄을 바꾸는 함수를 만듭니다. replacement_a_line($data):
- stristr($data, 'certain word')를 사용하여 행에 대상 단어가 포함되어 있는지 확인합니다.
- 발견된 경우 대체 행을 a로 반환합니다. 문자열입니다.
- 그렇지 않으면 원본을 반환합니다. line.
- array_map('replace_a_line', $data)을 사용하여 배열의 각 줄에 대체 함수를 적용합니다.
- 수정된 배열을 다음을 사용하여 파일에 다시 씁니다. file_put_contents('myfile', $data).
-
다음을 사용하여 방법을 향상시킵니다. array_map을 단순화하는 람다 함수:
- $data = array_map(function($data) { ... }, $data);
더 큰 파일의 경우(메모리 집중):
- fopen('myfile', 'r') 및 fopen('myfile.tmp', 'w')을 각각 사용하여 읽기 및 쓰기용 파일을 엽니다.
- 교체 여부를 나타내는 플래그를 설정합니다($replaced).
- 다음을 사용하여 입력 파일의 각 줄을 읽습니다. fgets($reading).
- stristr($line, 'certain word')를 사용하여 대상 단어가 있는지 확인합니다.
- 발견된 경우 해당 줄을 수정된 버전으로 바꿉니다.
- fputs($writing, $line)을 사용하여 업데이트된 줄을 출력 파일에 씁니다.
- 다음 후에 파일 핸들을 닫습니다.
- 교체가 이루어진 경우에만 원본 파일을 수정된 파일로 바꾸거나(이름 변경('myfile.tmp', 'myfile')), 대체가 필요하지 않은 경우 임시 파일을 삭제합니다(링크 해제(' myfile.tmp')).
위 내용은 PHP에서 단어 일치를 기반으로 텍스트 파일의 줄을 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!