我在PHP中的trim()函数有问题。我有一些带有空格的文本代码。该代码仅包含空格。
当我以这种方式使用修剪时:
$text = trim($v);
var_dump($text);
我知道了
string(2)“”
当我使用urlencode检查不正确的内容时:
$text = trim(urlencode($v));
var_dump($text);exit;
我知道了
字符串(6)“%C2%A0”
为什么trim()无法删除此空白?如何创建自己的trim()函数以删除这些空白?
谢谢。
答案 0 :(得分:2)
trim()
不会从字符串末尾删除“所有空白字符”,而只会删除有限数量的固定字符:
“”(ASCII 32(0x20)),一个普通空格。
“ \ t”(ASCII 9(0x09)),一个制表符。
“ \ n”(ASCII 10(0x0A)),换行(换行)。
“ \ r”(ASCII 13(0x0D)),回车符。
“ \ 0”(ASCII 0(0x00)),NUL字节。
“ \ x0B”(ASCII 11(0x0B)),一个垂直制表符。
您的字符可能呈现为空白。但是,它们未包含在此列表中,因此也不会被删除。
您可以将第二个参数传递给trim()
,以指定要删除的字符列表:
character_mask
(可选)还可以使用character_mask参数指定剥离的字符。只需列出要删除的所有字符。使用..您可以指定字符范围。
答案 1 :(得分:0)
您可以使用str_replace
$str=' hello. ';
$newStr=str_replace(' ','',$str);
验证码
echo strlen($newStr); //output 6