2011-05-13 17 views
6

Web sitemde bir CSV dosyası içe aktarıcısı yapmak istiyorum. Kullanıcının sınırlayıcıyı seçmesini istiyorum." t" yerine " t" (gerçek bir sekme) gibi özel karakterleri dönüştürün

Sorun, form gönderdiğinde, sınırlayıcı alan '\ t' olarak saklanır, örneğin dosyayı ayrıştırırken, gerçek bir SEKME yerine '\ t' dizesini arar.

Her özel karakterle aynı şeyi yapar.

gibi bir dizi kullanmadan bu karakterleri gerçek gösterimlerine dönüştürmek için kullanılacak yolu veya işlevi bilmek istiyorum.
  • 't' => "\ t"
  • 'r' => "\ r"
  • ... SO tırnak sekmeyi ayrılıyor gibi

cevap

6

Muhtemelen özel karakter size sağlayacak karar ve bunun gibi bir işlev oluşturmalısınız:

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

Doesnt, bak ama herhangi bir pede bir kez sekme sonra tırnak içine kopyalama çalışması gerekir.

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

HTML varlıkları HTML için güzel, ancak bir düz metin dosyasına kopyalayıp yapıştırabileceğiniz sorunlara neden olmaz mı? – drudge

+0

Ah, evet. HTML ile çalışmak için biraz fazla sanırım. –

1

Bu vs tek benziyor çift ​​tırnaklar eğlenceli:

$str = strtr($str, '\t\n\r', "\t\n\r");