파일을 구문 분석하려고했습니다. PHP TextPHP file_get_contents 문자를 건너 뛰는 중
는 이유 PHP는이 문자를보고하지 않는 있습니까 : Notepad Text
하지만, PHP가 표시되지 않습니다 메모장에서 ++는이 두 문자 사이에 문자를 표시하지 않습니다, 그것은 EOT가 보여? 그 캐릭터를보고 줄 바꿈으로 바꾸려면 어떻게해야합니까? 미리 감사드립니다.
파일을 구문 분석하려고했습니다. PHP TextPHP file_get_contents 문자를 건너 뛰는 중
는 이유 PHP는이 문자를보고하지 않는 있습니까 : Notepad Text
하지만, PHP가 표시되지 않습니다 메모장에서 ++는이 두 문자 사이에 문자를 표시하지 않습니다, 그것은 EOT가 보여? 그 캐릭터를보고 줄 바꿈으로 바꾸려면 어떻게해야합니까? 미리 감사드립니다.
EOT는 제어 문자입니다. 웹 브라우저로 출력 할 때 일치하는 글리프가 없으므로 출력 할 내용이 없습니다.
문자열의 각 위치의 ascii 값 또는 문자열의 길이를 출력하면 문자가 아직 있음을 알 수 있습니다.
http://en.wikipedia.org/wiki/End-of-transmission_character
당신이 줄 바꿈으로 EOT를 변경하려면 수 이외의 문자 ASCII 값을 검사하고 리턴 문자로 대체 문자열을 통해 가능성 루프. 그런 다음 출력 전에 newline을 줄 바꿈으로 변환하기 위해 PHP의 nl2br() 함수를 사용하십시오.
테스트되지 않은 코드 :
for ($i = 0; i < count($string); $i++){
if(ord($string[$i]) == 4)$string[$i] = '\n';
}
ASCII 4 EOT이며, ASCII 13 캐리지 리턴, 줄 바꿈으로 더 잘 알고있다.
루프가 문자를 숫자 표현과 비교합니다. 작동하지 않습니다. 'strtr ("\ 4", "\ n", $ str)' – mario
사실, 테스트되지 않은 코드처럼 말입니다. ord()를 char에 ASCII 값으로 변환하는 루프에 추가했습니다. – evandentremont
대신 여기에 코드를 붙여 넣을 수 있습니까? – Raptor
정확히 어디에서 텍스트를 가져 왔습니까? – Zarathuztra
PHP가보고 있는데 브라우저가 아닙니다. 'var_dump'를 시도하고 소스를 봅니다. 응답을 텍스트로 저장하고 16 진수 편집기로 볼 때까지 갈 수 있습니다. –