小编给大家分享一下php中trim不起作用的解决方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
php trim不起作用的解决办法:首先使trim以相反的顺序接受参数;然后使用“$post_Value = trim($str, "_");”语句进行操作;最后通过“str_replace”函数删除标签即可。
具体问题:
我正在尝试使用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()函数在这种情况下不起作用?
UPDATE:发现<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)
看完了这篇文章,相信你对php中trim不起作用的解决方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。