2014-05-15 2 views
0

문자열 만 포함 된 파일을 읽는 중 파일의 비 ASCII 값이 전체 문자열을 버리고 싶을 때 때 ASCII 값 디스플레이 당신이 내 코드 정리 (테스트하지)의 비트비 ASCII 값 일 때 문자열을 버리고 ASCII 값인 경우 표시

$myFile="mydata.txt"; 
$fh = fopen($myFile, 'r'); 
$completeString = fread($fh, filesize($myFile)); 
fclose($fh); 

preg_match('/[^\x20-\x7f]/', $completeString); 

if(preg_match('/[^\x20-\x7f]/', $completeString) == "1") { 
    $completeString = ""; 
} 
elseif(preg_match('/[^\x20-\x7f]/', $completeString) == "0") { 
    $completeString ; 
} 

답변

0

입니다 고맙소 file.please 도움말의 모든 내용 :

$myFile="mydata.txt"; 
$fh = fopen($myFile, 'r'); 
$completeString = fread($fh, filesize($myFile)); 
fclose($fh); 

if (preg_match('/[^\x20-\x7f]/', $completeString)) { 
    $completeString = ""; 
} 

범위 X20 외부의 모든 문자의 경우를 ..x7F가 보이고, $completeString이 비어 있습니다. 밖으로. 이제 이것이 텍스트 파일 인 경우 특정 제어 문자를 포함하게됩니다. 최소한 구형 Mac에서는 "줄 바꿈"x0A (Linux 등), "캐리지 리턴 줄 바꿈"x0D0A (DOS, Windows) 및 x0D와 같은 "줄 끝"표시자가 있습니다. 탭 (\x09)이 일반적입니다. \x00에서 \x7F까지 테스트 할 수 있습니다.

다른 가능한 접근 방법이있을 것입니다.