Home  >  Article  >  Backend Development  >  What to do if php trim doesn't work

What to do if php trim doesn't work

藏色散人
藏色散人Original
2020-09-30 09:01:033936browse

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.

What to do if php trim doesn't work

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=&#39;$$post_Value&#39; 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=&#39;$post_Value3&#39; 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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn