簡體   English   中英

trim() 留下單個尾隨和前導空格

[英]trim() leaves a single trailing and leading space

php 7.4

我相信 php 的修剪出現故障。 它會刪除重復的尾隨和前導空格,但會留下一個尾隨和前導空格。

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"} ,而無需手動檢查和更正第一個$list中每個字符串的最后一個字符?

然而,刪除每個空白實例是不可接受的,因為有效的$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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM