我正在尝试使用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()函数不起作用?
更新:找到< 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()仅从字符串的开头和结尾开始对掩码字符进行字符串化.如果被非掩码字符包围,它不会从字符串中删除任何掩码字符.
实际上,您应该将str_replace()与空的替换字符串一起使用(您尝试使用单个空格作为替换):
$post_Value= str_replace("_", "", $key)
如果您还想删除< br>标签(在其典型的变体中),您可以通过单个str_replace()调用来实现,如下所示:
$post_Value= str_replace(array("_", "<br>", "<br/>", "<br />"), "", $key)
有关详细信息,请参见str_replace()
文档.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。