Maison > Article > développement back-end > Que faire si le trim php ne fonctionne pas
La solution pour php trim ne fonctionne pas : premier trim accepte les paramètres dans l'ordre inverse ; puis définissez la chaîne pour masquer les caractères du début et de la fin de la chaîne, enfin utilisez la fonction str_replace avec une chaîne de remplacement vide.
Recommandé : "Tutoriel vidéo PHP"
Questions spécifiques :
Pourquoi ma fonction php trim() ne fonctionne-t-elle pas ?
J'essaie d'utiliser trim pour supprimer les caractères soulignés des données renvoyées au tableau de publication $u. J'ai essayé d'utiliser
$post_Value= str_replace("_", " ", $key)
mais le texte ne semble pas être renvoyé sous forme de chaîne. Il y a une pause 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 trim, rien ne se passe, elle ne supprime pas les caractères _. Mon objectif ultime est de mettre la liste séparée par des virgules dans la base de données sous la forme d'une seule chaîne. Pourquoi ma fonction trim() ne fonctionne-t-elle pas dans ce cas ?
Mise à jour : trouvée 076402276aae5dbec7f672f8f4e5cc81 dans la ressource de la page d'affichage, j'ai donc dû faire une combinaison de :
$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 :
Tout d'abord, trim() accepte les arguments dans l'ordre inverse : $str, puis $character_mask. Vous devez donc utiliser : $post_Value = trim($str, "_");
Deuxièmement, trim() définit uniquement la chaîne pour masquer les caractères du début et de 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 devez utiliser str_replace() avec une chaîne de remplacement vide (vous avez essayé d'utiliser un seul espace comme remplacement) :
$post_Value= str_replace("_", "", $key)
Si vous souhaitez également supprimer la balise 0c6dc11e160d3b678d68754cc175188a (Dans sa variante typique), cela peut être fait 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!