Maison > développement back-end > Problème PHP > Que faire si les espaces ne peuvent pas être supprimés en php

Que faire si les espaces ne peuvent pas être supprimés en php

藏色散人
Libérer: 2023-03-17 09:32:01
original
2173 Les gens l'ont consulté

Solution aux espaces PHP qui ne peuvent pas être supprimés : 1. Utilisez un éditeur hexadécimal pour afficher les octets ; 2. Ajoutez le paramètre u à "regex-pattern" ; 3. Utilisez "str_replace(' ', '', $fieldname ) ;" méthode pour remplacer les espaces.

Que faire si les espaces ne peuvent pas être supprimés en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.

php Que dois-je faire si je ne parviens pas à supprimer les espaces ?

Je reçois une chaîne PHP et je dois supprimer des espaces. J'ai utilisé le code suivant mais lorsque je fais écho à $classname, il affiche uniquement la chaîne qui contient encore des espaces.

$fieldname = the_sub_field('venue_title');
$classname = str_replace(' ', '', $fieldname);
echo $classname;
Copier après la connexion

Utilisez un éditeur hexadécimal pour regarder les octets, si les espaces dans le HEX ne sont pas 20 alors ce ne sont pas des espaces "normaux". Vous pouvez convertir en HEX à l’aide d’une simple fonction en PHP.

Duplication possible de la suppression des espaces à l'intérieur des variables en PHP

Essayez d'ajouter le paramètre u au modèle d'expression régulière car les chaînes peuvent avoir un encodage UTF-8 :

$classname  =  preg_replace('/\s+/u', '', $fieldname);
Copier après la connexion

Wow. Merci beaucoup! aide!

C'est la seule chose qui fonctionne pour moi

Pareil ici. Les chaînes sont récupérées à partir des champs méta WordPress. Enregistré dans le panneau d'administration, après "copier-coller" depuis l'ancien site Web, en utilisant un encodage différent...

Si vous savez que l'espace blanc est dû uniquement aux espaces, vous pouvez utiliser :

$classname = str_replace(' ','',$fieldname );
Copier après la connexion

Mais si cela peut être dû aux espaces , vous pouvez utiliser :

$classname = preg_replace('/\s+/','',$fieldname )
Copier après la connexion

Essayez d'utiliser s+ au lieu de h+ pour obtenir des espaces horizontaux, cela préservera les nouvelles lignes si nécessaire.

Le problème est peut-être que le caractère n'est pas un espace, mais un autre caractère d'espacement.

Essayez

$classname = preg_replace('/\s/', '', $fieldname);
Copier après la connexion

en utilisant trim comme ceci

TRIM($fieldname);
Copier après la connexion

EDIT :

preg_replace('/\s+/', '', $fieldname);
Copier après la connexion

trim() ne supprimera que les espaces du début et de la fin de la chaîne

'trim()' ne supprimera qu'au début ou à la fin de la chaîne chaîne. Dans l'exemple de Paul, des caractères d'espacement peuvent figurer dans la chaîne.

Le problème est le champ qu'il extrait, pas le reste de PHP. 'the_sub_field('venue_title')' extrait le champ du plugin wordpress 'Advanced Custom Fields', mais cette fonction est utilisée pour afficher les données au lieu de simplement les récupérer. Au lieu de cela, j'utilise 'get_sub_field('venue_title')' et cela fonctionne. Bravo pour cette aide

C'est la bonne réponse à cette menace, elle doit être signalée

Il se pourrait que l'espace ne soit pas vraiment de l'espace, mais une autre forme d'espace blanc.

Vous voudrez peut-être essayer :

$classname = preg_replace('/\s+/', '', $fieldname);
Copier après la connexion

D'ici.

Essayez de remplacer les espaces horizontaux par h+, cela préservera les nouvelles lignes si nécessaire.

$fieldname ="I  am  21  Years  Old";
$classname = str_replace(' ', '', $fieldname);
echo $classname;
?>
Copier après la connexion

Cela fonctionne parfaitement.

Vérifiez la valeur de retour via cette fonction : the_sub_field('venue_title');

Je pense que le problème est que la chaîne n'est pas traitée comme une chaîne. Cela nécessite "de chaque côté. Comment feriez-vous cela en PHP ? Par exemple $fieldname="'".the_sub_field('venue_title')."'";

utilisez "".the_sub_field('venue_title')." "+ the_sub_field('venue_title')+"

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal