Maison >développement back-end >Problème PHP >Que faire si le trim php ne fonctionne pas
La solution pour que php trim ne fonctionne pas : faites d'abord en sorte que trim accepte les paramètres dans l'ordre inverse ; puis utilisez l'instruction "$post_Value = trim($str, "_");" pour enfin passer la fonction "str_replace" ; peut supprimer l’étiquette.
Recommandé : "Tutoriel vidéo PHP"
Questions spécifiques :
J'essaie d'utiliser trim pour supprimer les caractères soulignés des données renvoyées dans le tableau $_POST. J'ai essayé d'utiliser
$post_Value= str_replace("_", " ", $key)
mais le texte ne semble pas être renvoyé sous la forme d'une seule chaîne. Il est rompu entre chaque entrée. Ensuite, j'ai essayé de découper comme ceci :
<?php $connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME); // Test if connection succeeded if (mysqli_connect_errno()) { die("Database connection failed: " . mysqli_connect_error() . " (" . mysqli_connect_errno() . ")"); } if (isset($_POST)) { $str = ""; foreach($_POST as $key => $value) { $str = $str . $key . ","; } $post_Value = trim("_", $str); } $query = "UPDATE player_match SET categoryOption='$$post_Value' WHERE id=1"; ?>
Quand j'utilise la fonction de découpage, rien ne se passe, cela ne supprime pas les caractères _. Mon objectif ultime est d'avoir une liste séparée par des virgules sous forme de chaîne unique dans ma base de données. Pourquoi ma fonction trim() ne fonctionne-t-elle pas dans ce cas ?
MISE À JOUR : Trouvé076402276aae5dbec7f672f8f4e5cc81 compte tenu des ressources de la page, j'ai donc dû faire la combinaison suivante :
$post_Value= str_replace("<br_/>", "", $str); $post_Value2= str_replace("_", " ", $post_Value); $post_Value3= rtrim($post_Value2,",submit,"); echo $post_Value3; $query="UPDATE player_match SET categoryOption='$post_Value3' WHERE id=1";
Solution :
Premier , trim() accepte les paramètres dans l'ordre inverse : $str;
puis $character_mask.
Vous devez donc utiliser : $post_Value = trim($str, "_");
Deuxièmement, trim() effectue une manipulation de chaîne sur la chaîne uniquement au début et à la fin de la chaîne . Si la chaîne est entourée de caractères non protégés, aucun caractère de masquage n'est supprimé de la chaîne.
En fait, vous devriez utiliser str_replace() avec une chaîne de remplacement vide (vous avez essayé de mettre un espace en remplacement) :
$post_Value= str_replace("_", "", $key)
Si vous souhaitez également supprimer la balise 0c6dc11e160d3b678d68754cc175188a Dans sa variante typique), vous pouvez le faire avec un seul appel str_replace(), comme ceci :
$post_Value= str_replace(array("_", "<br>", "<br/>", "<br />"), "", $key)
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!