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

What to do if php trim doesn't work

藏色散人
藏色散人Original
2020-09-04 10:40:112842browse

Solution to php trim not working: First make trim accept parameters in reverse order; then use the "$post_Value = trim($str, "_");" statement to operate; finally pass "str_replace ” function can delete the label.

What to do if php trim doesn't work

Recommended: "PHP Video Tutorial"

Specific questions:

I'm trying to use trim to remove the underscore characters from the data returned in the $_POST array. I've tried using

 $post_Value= str_replace("_", " ", $key)

but the text doesn't seem to be returned as a single string. It is broken between each entry. Then I try to trim 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 have a comma separated list as a single string in my database. Why doesn't my trim() function work in this case?

UPDATE: Found 076402276aae5dbec7f672f8f4e5cc81 given the page resource, so I had to do the following combination:

       $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";

Solution:

First , trim() accepts parameters in reverse order: $str;

then $character_mask.

So you should use: $post_Value = trim($str, "_");

Secondly, trim() does string processing on the string only at 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've tried putting a space as a replacement):

$post_Value= str_replace("_", "", $key)

If you also want to remove the 0c6dc11e160d3b678d68754cc175188a tag ( In its typical variation), you can do this 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