>백엔드 개발 >PHP 문제 >PHP Trim이 작동하지 않으면 어떻게 해야 할까요?

PHP Trim이 작동하지 않으면 어떻게 해야 할까요?

藏色散人
藏色散人원래의
2020-09-30 09:01:033984검색

php trim不起作用的解决办法:首先trim以相反的顺序接受参数;然后从字符串的开头和结尾为屏蔽字符设置字符串;最后将str_replace函数与空替换字符串一起使用即可。

PHP Trim이 작동하지 않으면 어떻게 해야 할까요?

推荐:《PHP视频教程

具体问题:

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

我正在尝试使用trim从返回到$\u 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=&#39;$$post_Value&#39; WHERE id=1";
 ?>

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

更新:在视图页资源中找到076402276aae5dbec7f672f8f4e5cc81,因此我必须执行以下操作的组合:

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

 

解决办法:

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

其次,trim()只从字符串的开头和结尾为屏蔽字符设置字符串。如果字符串被非屏蔽字符包围,则不会从字符串中删除任何屏蔽字符。

实际上,您应该将str_replace()与空替换字符串一起使用(您尝试了使用单个空格作为替换):

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

如果您还想删除0c6dc11e160d3b678d68754cc175188a标记(在其典型的变体中),可以通过单个str_replace()调用执行此操作,如下所示:

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

위 내용은 PHP Trim이 작동하지 않으면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.