Je veux faire un importateur de fichiers CSV sur mon site Web. Je souhaite que l'utilisateur choisit le délimiteur. P>
Le problème est lorsque le formulaire soutient, le champ Délimiteur est stocké comme «\ T», par exemple, alors lorsque je l'analyse du fichier, je recherche la chaîne '\ t' au lieu d'un véritable onglet. Il fait la même chose avec tous les caractères spéciaux tels que \ r, \ n, etc ... p>
Je veux connaître le chemin ou la fonction à utiliser pour convertir ces caractères en une représentation vraie sans utiliser de tableau comme: P>
4 Réponses :
ne semble pas comme si vous laissez la languette dans des guillemets, mais la tabulation une fois dans n'importe quel tampon puis la copie dans des guillemets devrait fonctionner.
Les entités HTML sont agréables pour HTML, mais ne causeront pas de problèmes si vous copiez-coller dans un fichier en clairexuant?
echo str_replace("\\t", "\t", $string); View an example here: http://ideone.com/IVFZk
Vous devez probablement décider quels caractères spéciaux permettez-vous et créez une fonction comme celle-ci:
function translate_quoted($string) { $search = array("\\t", "\\n", "\\r"); $replace = array( "\t", "\n", "\r"); return str_replace($search, $replace, $string); }
PHP Interprète échappe automatiquement à des chaînes cotées dans les fichiers source PHP, donc au contraire, lorsque vous lisez une chaîne de n'importe quel externe Source, la barre oblique inverse suppose sa valeur littérale: une barre oblique inverse et un 'T'. Vous l'exprimez dans une source PHP comme Solution Sebastián Works, mais PHP fournit une fonction native pour cela. P> < p> stripslashes () reconnaît des séquences de type C (\ A, \ B, \ f, \ n, \ r, \ t and \ v), ainsi que la représentation octale et hexadécimale, la convertissant à leur sens réelle. p> echo "\ t" code> indique un caractère d'onglets.
"\\ t" code> (guillemets doubles) ou
'\ t' code> (guillemets simples), ce qui n'est pas ce que vous voulez. < / p>