php - 为什么我的 php trim() 函数不起作用?

标签 php trim

我正在尝试使用 trim 从 $_POST 数组中返回的数据中删除下划线字符。我尝试使用

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

但文本似乎没有作为一个单独的字符串返回。它在每个条目之间被打破。然后我尝试像这样修剪:

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

当我使用 trim 函数时,没有任何反应,它不会删除 _特点。我的最终目标是将逗号分隔列表作为单个字符串放入我的数据库中。为什么我的 trim()函数在这种情况下不起作用?

更新:找到<br/>在查看页面资源中,所以我必须结合执行以下操作:

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

最佳答案

首先,trim()采用相反顺序的参数:$str , 然后 $character_mask .所以你应该使用:$post_Value = trim($str, "_");

第二,trim() strings 屏蔽字符仅从字符串的开头和结尾。如果它们被非屏蔽字符包围,它不会从字符串中删除任何屏蔽字符。


您实际上应该使用 str_replace()用一个空的替换字符串(你已经尝试用一个空格作为替换):

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

如果你还想删除<br>标签(在其典型变体中),您可以通过单个 str_replace() 来完成调用,如下:

$post_Value= str_replace(array("_", "<br>", "<br/>", "<br />"), "", $key)

参见 str_replace() 文档了解详情。

关于php - 为什么我的 php trim() 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28572677/

相关文章:

javascript - 如何从 JavaScript 字符串末尾删除特定字符?

ORACLE TRIM 和 RTRIM : the TRIM (TRAILING… ) select with more than one character?

php - 如何为 Multi-Tenancy 配置 Paypal?

php - 如何调用动态设置id值的复选框id

javascript - Node.js MySQL : Select-statement depending on query string?

ios - 修剪 UIImage 白色边框

php,统计字符,删除超过140个字符的

php - 为什么 trim 不能作为 PHP 中 array_walk 或 array_map 的回调?

php - 连接到数据库 Symfony 4 Flex

php - 使用 php 和 jquery ajax 从 mysql 数据库获取数据?