특정 줄에 있는 특정 글자 치환이 가능할까요? 채택완료
CtrlV
3년 전
조회 2,659
어떤 파일의 내용이 아래와 같을 때
1
저것은 A로 해야 한다.
2
이것은 A로 해야 한다
3
그것은 A로 해야 한다
4
고것은 A로 해야 한다..
-----------------------------------------------
file 함수, input_file_contents 함수로 며칠째 삽질중인데
예를들어 3밑에 있는 A를 B로 치환하고자 할 때
(문제는 파일마다 저 번호와 줄수가 제각각 입니다.)
좋은 방법이 있을까요?
특정줄에 어떤 글자를 넣는건 가능한데 치환은 또 다른문제네요..
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
3년 전
</p>
<p>$file_path = 'tmp.txt';</p>
<p>$line_curr = 0;
$line_replace = 0;</p>
<p>if ($handle = fopen($file_path, 'r+')) {
while (!feof($handle)) {
$line_curr++;
$read_line = fgets($handle);
if ($read_line == '3') {
$line_replace = $line_curr + 1;
}
if ($line_replace == $line_curr && strpos($read_line, 'A') !== false) {
$read_line = str_replace("A", "B", $read_line);
}
fputs($handle, $read_line);
}
fclose($handle);
}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
C
CtrlV
3년 전
삽질해보겠습니다. 정말 정말 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
3년 전
</p>
<p><div id=my>
1
저것은 A로 해야 한다.
2
이것은 A로 해야 한다
3
그것은 A로 해야 한다
4
고것은 A로 해야 한다..
</div></p>
<p><script>
my.innerHTML = my.innerHTML.split("3")[0] + "3" + my.innerHTML.split("3")[1].replace("A", "B");
</script></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
C
CtrlV
3년 전
답변 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인