단어를 기반으로 텍스트 파일의 특정 줄 바꾸기
텍스트 파일 조작에서 특정 줄을 바꿔야 하는 상황이 발생합니다. 특정 단어의 존재 여부를 기반으로 한 텍스트 줄이 중요해집니다. 이러한 필요성은 각기 다른 시나리오에 적합한 다양한 접근 방식을 사용하여 해결할 수 있습니다.
소형 파일 처리
메모리에 편안하게 들어갈 수 있는 작은 텍스트 파일의 경우 편리한 방법입니다. 전체 파일을 여러 줄의 배열로 읽는 작업이 포함됩니다. 그런 다음 이 배열은 사용자 정의된 함수를 사용하여 처리되어 지정된 단어가 포함된 줄을 효율적으로 대체할 수 있습니다.
다음은 PHP의 구현 예입니다.
$data = file('myfile'); // reads an array of lines function replace_a_line($data) { if (stristr($data, 'certain word')) { return "replacement line!\n"; } return $data; } $data = array_map('replace_a_line', $data); file_put_contents('myfile', $data);
대용량 파일 처리
사용 가능한 메모리 제한을 초과하는 대용량 텍스트 파일의 경우 보다 효율적인 접근 방식이 필요합니다. 이 방법에는 파일을 한 줄씩 읽고 원하는 단어가 있는지 확인한 후 대체 파일에서 바꾸는 작업이 포함됩니다. 교체가 수행되면 수정된 내용으로 원본 파일을 덮어씁니다.
다음 PHP 구현을 고려하십시오.
$reading = fopen('myfile', 'r'); $writing = fopen('myfile.tmp', 'w'); $replaced = false; while (!feof($reading)) { $line = fgets($reading); if (stristr($line,'certain word')) { $line = "replacement line!\n"; $replaced = true; } fputs($writing, $line); } fclose($reading); fclose($writing); // might as well not overwrite the file if we didn't replace anything if ($replaced) { rename('myfile.tmp', 'myfile'); } else { unlink('myfile.tmp'); }
파일 크기 및 리소스 제약 조건에 따라 이러한 접근 방식은 효과적인 단어 존재 여부에 따라 텍스트 파일의 특정 줄을 바꾸는 솔루션입니다.
위 내용은 단어를 기반으로 텍스트 파일의 특정 줄을 어떻게 바꿀 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!