J'ai un script PHP que les utilisateurs entreront un nom comme: Alex_Newton
,
Cependant, certains utilisateurs utiliseront un espace plutôt qu'un trait de soulignement, donc ma question est:
Comment remplacer automatiquement les espaces par des traits de soulignement en PHP?
http://php.net/manual/en/function.str-replace.php
la source
Utilisez la fonction str_replace de PHP.
Quelque chose comme:
la source
Appelez http://php.net/str_replace :
$input = str_replace(' ', '_', $input);
la source
Utilisez str_replace :
la source
Vous pouvez également le faire pour empêcher les mots de commencer ou de se terminer par des traits de soulignement comme _words_more_words_, cela éviterait de commencer et de se terminer par des espaces blancs.
la source
Cela fait partie de mon code qui transforme les espaces en traits de soulignement pour nommer mes fichiers:
la source
J'ai utilisé comme ça
la source
vous pouvez
str_replace
dire que votre nom est en variable$name
une autre façon est d'utiliser regex, car cela aidera à éliminer l'espace à 2 temps, etc.
la source
Strtr
remplace des caractères uniques au lieu de chaînes, c'est donc une bonne solution pour cet exemple. C'est censéstrtr
être plus rapide questr_replace
(mais pour ce cas d'utilisation, ils sont tous les deux extrêmement rapides).la source
str_replace
- c'est une solution évidente. Mais parfois, vous devez savoir quels sont exactement les espaces. J'ai un problème avec les espaces du fichier csv.Il y avait deux caractères mais l'un d'eux était 0160 (0x0A0) et l'autre était invisible (0x0C2)
ma solution finale:
J'ai trouvé le symbole invisible de la visionneuse HEX de mc (visionneuse de minuit - F3 - F9)
la source
'/\s+/'
?