trim() 留下单个尾随和前导 space
trim() leaves a single trailing and leading space
php 7.4
我认为 php 的 trim 出现故障。它删除了重复的尾随和前导 spaces,但它留下了一个尾随和前导 space.
function string_to_safe_list($str){
$list = explode(",", $str);
array_map(function($x){
return trim(strtolower(htmlspecialchars($x)));
}, $list);
var_dump($str);
var_dump($list);
return $list;
}
$str = "test,test, test, test , test, test";
=> string_to_safe_list($str) = {"test", "test", " test", " test ", " test", " test"}
$str
是一个“逗号分隔值”数组。
如何让 trim()
正常运行,从而让 $list
变成 {"test", "test", "test", "test", "test", "test"}
,而无需手动检查和更正 [=16] 中每个字符串的第一个和最后一个字符=]?
然而,删除每个白色space实例是不可接受的,因为有效的$str
可能是"test entry, test entry, test, test"
,应该变成{"test entry", "test entry", "test", "test"}
您必须将 array_map 的结果分配给一个变量。
function string_to_safe_list($str){
$list = explode(",", $str);
$list = array_map(function($x){
return trim(strtolower(htmlspecialchars($x)));
}, $list);
return $list;
}
$str = "test,test, test, test , test, test";
var_dump(string_to_safe_list($str));
php 7.4
我认为 php 的 trim 出现故障。它删除了重复的尾随和前导 spaces,但它留下了一个尾随和前导 space.
function string_to_safe_list($str){
$list = explode(",", $str);
array_map(function($x){
return trim(strtolower(htmlspecialchars($x)));
}, $list);
var_dump($str);
var_dump($list);
return $list;
}
$str = "test,test, test, test , test, test";
=> string_to_safe_list($str) = {"test", "test", " test", " test ", " test", " test"}
$str
是一个“逗号分隔值”数组。
如何让 trim()
正常运行,从而让 $list
变成 {"test", "test", "test", "test", "test", "test"}
,而无需手动检查和更正 [=16] 中每个字符串的第一个和最后一个字符=]?
然而,删除每个白色space实例是不可接受的,因为有效的$str
可能是"test entry, test entry, test, test"
,应该变成{"test entry", "test entry", "test", "test"}
您必须将 array_map 的结果分配给一个变量。
function string_to_safe_list($str){
$list = explode(",", $str);
$list = array_map(function($x){
return trim(strtolower(htmlspecialchars($x)));
}, $list);
return $list;
}
$str = "test,test, test, test , test, test";
var_dump(string_to_safe_list($str));