2012-01-16 2 views
1

(file_get_contents)에서 파일을 읽는 PHP 스크립트가 있습니다. 모든 줄 바꿈을 br로 바꾸고 다른 모든 문자를 제거하고 싶습니다. 그러나 javascript 변수로 내용을 해석 할 때 오류가 발생합니다."예기치 않은 EOF": PHP 코드에서 모든 줄 바꿈을 제거하려면 어떻게합니까?

유죄 당사자는 "^ Z"문자라고 생각하지만이를 제거하는 방법을 모르겠습니다. "^ M"은 자식 캐릭터이고 "^ Z"는 실제로 문자열 자체의 일부라고 생각합니다.

어떻게 PHP에서이 문자를 제거하겠습니까?


좋아

enter image description here

, 내 질문은 잘못된 전에, 그래서 나는 새로운 내용으로 업데이트되었습니다.

모든 줄 바꿈이 PHP 문자열에서 제거되었는지 어떻게 확인합니까? 이 문자열은 file_get_contents로 읽혀지며, 자바 스크립트는 파일 내용으로 동적으로 생성됩니다. "\ n"은 "NEW"로 바뀌고 "\ r"은 ""로 바뀝니다.

그러나 "예기치 않은 EOF"오류가 발생하며 문자열을 복사하여 콘솔에 붙여 넣으면 뭔가 줄 바꿈이 생깁니다. 어떻게 모든 줄 바꿈 (공백은 문제가되는)이 제거되었는지 확인합니까?

trim() str_replace preg_replace

모두 사용되어왔다, 어떤 도움을 크게 감사합니다!

SyntaxError: Unexpected EOF

+0

^Z는 대개 ctrl + z입니다. 그것은 파일의 끝을 나타낼 수 있습니다. – NoviceProgrammer

+0

오류 메시지를 잘못 해석했다고 생각합니다. 그것은 당신의 코드에서 에러가 아니고 여러분의 데이터가 아니라 예기치 않은 프로그램의 끝에 관한 것이지 문자적인^Z 문자에 관한 것이 아닙니다. 분명히 여러 해석 레이어가 있고 코드 나 코드의 출처를 게시하지 않으므로 추측해야합니다. 내 생각 엔 PHP 구문 오류가있는 것 같습니다. 조기 EOF 경고는 'if (1) then'과 같은 코드에서 비롯됩니다. 오류가 발생하면 블록을 닫아 오류를 수정해야합니다. – tripleee

+0

또는 이스케이프 처리되지 않은 작은 따옴표 (예 :)가 포함 된 작은 따옴표로 묶인 문자열을 평가하는 경우 첫 번째 이스케이프 처리되지 않은 따옴표로 표현식이 중간에 종료되는 "예기치 않은 EOF"가 발생할 수 있습니다. 그 스크린 샷은'JSON.parse()'의 첫 번째 인수에서 이상하게 보이는 것처럼 보일 수 있습니다. – tripleee

답변

3

CTRL-Z 텍스트 파일의 DOS/윈도우 파일 끝 문자입니다. 입력 파일을 살펴보면 그 문자를 찾을 수 있습니다.

파일이 디스크 섹터 크기의 배수 일 때 가장 오래된 날짜 (CP/M 이하)부터 발생하므로 여러 개가 아닌 파일을 가질 수 없습니다.

그래서 이전에 파일을 끝내려면 특수 파일 끝 문자를 파일 읽기 루틴이 이해할 수 있도록 배치해야합니다. 결국 바이너리 파일에 문제가되지는 않았지만 결국에는 관계없는 정보가 있는지 여부는 중요하지 않으므로 무시 될 가능성이 큽니다. 그러나, 당신은 멋진 작은 WordStar 3.3 문서의 끝에 쓰레기를 원하지 않습니다.

^Z 문자 그래서 당신은 \x1a 문자로 str_replace을 사용할 수 있어야 코드 번호 (26)이다, 뭔가 같은 : 첫째

$str = str_replace ("\x1a", "", $str); 
0

것부터, 자식 문자 같은 것은 존재하지 않는다.

^M은 캐리지 리턴을위한 코드입니다. 아마도 파일을 사용하는 Windows 컴퓨터에서 나온 것일 수 있습니다.당신은 여기에 대해 읽을 수있는 "대체"문자로되어 있습니다

^Z 보이는 : http://en.wikipedia.org/wiki/Substitute_character을, 기본적으로 그 의미 말했다

"나는이 자리에 캐릭터를 표현하는 방법을 모른다" 나는 paxdiablo가 나 앞에 올렸고 그 코드가 속임수를 쓰는 것을 보았다. 귀하의 프로젝트에 행운을 빌어 요!

+0

'캐릭터가 내 파일에 추가됩니다.'와 같은 자식 캐릭터를 의미하지는 않습니다. 그것은 diff 일 뿐이며 "git diff"라고 말할 때마다 수정 사항이 나타나는 곳에서 나타나는 것으로 보입니다. 나는 그것이 문제가 될 수 있다고 믿기 시작하는 것이 아니다 :) – andrewpthorp

+0

아하, 어떤 종류의 OS를 사용하고 계십니까? 그리고 당신은 다른 종류의 다른 사람들과 협력하고 있습니까? – ctcherry

+0

예, 이것은 Windows에서 컴파일됩니다. 궁극적으로 PHP 스크립트는 HTML 페이지를 생성하고 wkhtmltopdf를 통해이를 실행합니다. 나는 동적으로 자바 스크립트를 생성하고, JS를 올바르게 실행하기 위해 wkhtmltopdf가 필요하다. (당연히, 추측이지만, 지금은 붙어있는 디자인 결정) – andrewpthorp

관련 문제