2011-05-13 2 views
6

내 웹 사이트에 CSV 파일 가져 오기 도구를 만들고 싶습니다. 사용자가 구분 기호를 선택하길 원합니다.' t'와 같은 특수 문자를 ' t'(실제 탭)로 변환

문제는 양식을 제출할 때 구분 기호 필드가 '\ t'로 저장되므로 예를 들어 파일을 구문 분석 할 때 실제 탭 대신 '\ t'문자열을 검색합니다. \ r, \ n 등과 같은 모든 특수 문자가있는 경우에도 동일한 작업을 수행합니다.

과 같은 배열을 사용하지 않고 이러한 문자를 실제 표현으로 변환하는 방법이나 기능을 알고 싶습니다.
  • 't'=> '\의 t "
  • 'R '=>'\ r에"
  • ... SO 따옴표로 탭을 떠나 같은

답변

6

당신은 아마 특수 문자는 허용 할 것을 결정하고이 같은 함수 만들어야합니다

function translate_quoted($string) { 
    $search = array("\\t", "\\n", "\\r"); 
    $replace = array("\t", "\n", "\r"); 
    return str_replace($search, $replace, $string); 
} 
0

않아요, 보이지만 어떤 패드에서 한 번 탭하면 따옴표로 복사하면됩니다.

$data = str_replace("\t", " ", $data); 
+1

HTML 엔티티는 HTML에 적합하지만 일반 텍스트 파일에 복사하여 붙여 넣으면 문제가 발생하지 않습니까? – drudge

+0

아, 네. HTML로 작업하는 데 사용되는 것으로 생각됩니다. –

1

이 대 한 모양을 큰 따옴표 재미 :

$str = strtr($str, '\t\n\r', "\t\n\r"); 
관련 문제