Home > Article > Backend Development > What to do if php trim doesn't work
Solution for php trim not working: first trim accepts parameters in reverse order; then set the string for masking characters from the beginning and end of the string; finally use str_replace function with empty replacement string That’s it.
Recommended: "PHP Video Tutorial"
Specific questions:
Why doesn't my php trim() function work?
I'm trying to use trim to remove the underline characters from the data returned to the $_post array. I tried using
$post_Value= str_replace("_", " ", $key)
but the text doesn't seem to be returned as a string. There is a break between each entrance. Then I tried trimming like this:
<?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"; ?>
When I use the trim function, nothing happens, it doesn't remove the _ characters. My ultimate goal is to put the comma separated list into the database as a single string. Why doesn't my trim() function work in this case?
Update: 076402276aae5dbec7f672f8f4e5cc81 was found in the view page resource, so I had to do a combination of the following:
$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";
Workaround:
First, trim() accepts parameters in reverse order: $str, then $character_mask. So you should use: $post_Value = trim($str, "_");
Secondly, trim() only sets the string for masking characters from the beginning and end of the string. If the string is surrounded by non-shielded characters, no masking characters are removed from the string.
Actually, you should use str_replace() with an empty replacement string (you tried using a single space as the replacement):
$post_Value= str_replace("_", "", $key)
If you also want to remove the 0c6dc11e160d3b678d68754cc175188a tag (In its typical variation), this can be done with a single str_replace() call, like this:
$post_Value= str_replace(array("_", "<br>", "<br/>", "<br />"), "", $key)
The above is the detailed content of What to do if php trim doesn't work. For more information, please follow other related articles on the PHP Chinese website!