PHP 整理字符串

本文最后更新于:2024年3月18日 凌晨

PHP 整理字符串

  • 通常,我们从文件或用户得到的字符串在使用前需要整理(Cleaning)原始数据的两个普遍问题是没用的空白符号(如空格,换行)的存在和不正确的字母大小写。

删除空白符

  • 可以使用函数trim(),ltrim()rtrim()删除字符串开头或结尾的空白符(whitespace):
1
2
3
$trimmed = trim(string [,charlist ]);
$trimmed = ltrim(string [,charlist ]);
$trimmed = rtrim(string [, charlist ]);
  • trim()返回删除首尾空白的字符串,ltrim()(l是指left)只删除字符串开头的空白,rtrim()(r是指right)只删除字符串末尾的空白,可选参数charlist是一个指定所有要删除字符的字符串,默认情况下要删除的字符如下表所示:
字符 ASCII值 意义
" " 0x20 空格
“\t” 0x09 制表符
“\n” 0x0A 换行
“\r” 0x0D 回车
“\0” 0x00 字符
“\x0B” 0x0B 纵向列表符
  • 例如:
1
2
3
4
Stitle = "   Programming PHP \n";
$str_1 = ltrim($title);//$str_1是"programing PHP \n"
$str_2 = rtrim($title);//$str_2是" programing PHP"
$str_3 = trim($title);//$str_3是"programing PHP"
  • 给出一行用制表符分隔的数据,使用charset参数来删除开头或结尾的空白而不删除制表符:
1
2
$record = "		Fred\tFlintstone\t35\tWilma		\n";
$record = trim($record," \r\n\0\x0B"); //$record is "Fred\tFlintstone\t35\tWilma"

改变大小写

  • PHP有一些函数用于改变字符串的大小写:strtolower()strtoupper()操作整个字符串,ucfirst()只操作字符串的第一个字母,ucword()则操作字符串中每个单词的第一个字母,每一个函数都把字符串作为参数来执行,并适当地改变大小写,然后返回字符串的拷贝,例如:
1
2
3
4
5
6
7
8
9
10
11
$string = "FRED flintstone";
$string = "barney rubble";
print(strtolower($string1));
print(strtoupper($string1));
print(ucfirst($string2));
print(ucwords($string2));

fred flinstone
FRED FLINSTONE
Barney rubble
Barney Rubble
  • 如果得到一个混合大小写的字符串,并想把它转换为"标题大写:形式,即每个单词的第一个字母大写而其他的字母小写(但是你不确定字符串以大写或小写开头),可以结合使用strtolower()ucwords()来完成:
1
2
3
print(ucwords(strtolower($string1)));

Fred Flintstone

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!