- php字符串处理案例(即String函数)
- 更多参考(约100个函数): https://www.runoob.com/php/php-ref-string.html
- 1、nl2br:转换换行符(即
) - 2、substr_replace(string,replacement,start,length) 把字符串的一部分替换为另一个字符串
- 3、str_ireplace(find,replace,string,count) 替换字符串中的一些字符(不区分大小写)。
- 4、chop 移除字符串右侧的字符
- 5、chunk_split(string,length,end)把字符串分割为一连串更小的部分。
- 6、str_word_count 计算字符串中的单词数
- 7、number_format 通过千位分组来格式化数字。
- 8、sprintf(format,arg1,arg2,arg++) 把格式化的字符串写入一个变量中。
- 9、str_repeat(string,repeat) 把字符串重复指定的次数
- 10、str_shuffle(string) 随机地打乱字符串中的所有字符。
- 11、str_split(string,length) 把字符串分割到数组中。
- 12、strchr(string,search,before_search) 与strstr/stristr一样 搜索字符串在另一字符串中的第一次出现,并返回字符串的其余部分。
- 13、stripos、strpos(string,find,start) 查找字符串在另一字符串中第一次出现的位置
- 14、strrev(string)反转字符串。
- 15、strtolower()转小写,strtoupper()转大写,lcfirst()首字符小写,ucwords()每个单词(空格割开),
- 16、strtr(string,from,to) 转换字符串中特定的字符。
- 17、substr_replace(string,replacement,start,length) 把字符串的一部分替换为另一个字符串。
- 18、mb_substr(string,start,length) 返回字符串的一部分。
- 19、substr_count(string,substring,start,length)计算子串在字符串中出现的次数。
- 20、printf
- 另外:fprintf() 函数把格式化的字符串写入到指定的输出流(例如:文件)
- vfprintf()与 fprintf() 不同,vfprintf() 中的参数位于数组中。
php字符串处理案例(即String函数)
1、nl2br:转换换行符(即
)
$str = “这是的一个例子:Supercali\nfragul".PHPEOL."istic";echo nl2br($str);//输出:这是的一个例子:Supercalifragulistic
2、substr_replace(string,replacement,start,length) 把字符串的一部分替换为另一个字符串
$str = “这是的一个例子:Supercali\istic";echo substr_replace($str, “…", 30); //输出:这是的一个例子:Superc…另一例子:$string = “202203";$result = substr_replace($string, “-“, 4, 0);echo $result; // 输出:2022-03该函数的第一个参数是要操作的字符串,第二个参数是要插入的字符串,第三个参数是开始替换的位置(从0开始计数),第四个参数是要替换的长度(此处为0表示不替换长度)。
3、str_ireplace(find,replace,string,count) 替换字符串中的一些字符(不区分大小写)。
$str = “这是的一个例子:Supercali\istic";echo str_replace(“例","kk",$str); //适用中文//输出:这是的一个kk子:Supercali\istic
4、chop 移除字符串右侧的字符
$str = ‘这是的 一个例子:Supercaliaastic’;echo chop($str,"stic"); //输出:这是的 一个例子:Supercaliaa
5、chunk_split(string,length,end)把字符串分割为一连串更小的部分。
$str = ‘这是的一个例子:Supercaliaastic’;echo chunk_split($str,3,’‘); //输出:这是的一个例子:_Sup_erc_ali_aas_tic把字符串打散为数组 $string = ‘中国共’; var_dump(preg_split(‘//u’, $string, 0, PREG_SPLIT_NO_EMPTY)); / array (size=13) 0 => string ‘中’ (length=3) 1 => string ‘国’ (length=3) 2 => string ‘共’ (length=3) /
6、str_word_count 计算字符串中的单词数
$str = ‘这 是 的一个例子:Superca liaastic’;echo str_word_count($str);//貌似只能统计英文//输出:2
7、number_format 通过千位分组来格式化数字。
echo number_format(“12345678",3,"-“,"=");//输出:12=345=678-000小数点处理number_format(‘23.2356’,2);//输出:string(5) “23.24"如果是补零,见下面的sprintf
8、sprintf(format,arg1,arg2,arg++) 把格式化的字符串写入一个变量中。
echo sprintf(‘%.2f’,1234);//输出:1234.00
9、str_repeat(string,repeat) 把字符串重复指定的次数
echo str_repeat(“我的",4);//输出:我的我的我的我的
10、str_shuffle(string) 随机地打乱字符串中的所有字符。
echo str_shuffle(‘asdfgh’);//不适用于中文//输出:dhsfag
11、str_split(string,length) 把字符串分割到数组中。
$str = ‘这是的一个例子:Supercaliaastic’;print_r(mb_str_split($str,5));//适用于中文//输出 Array ( [0] => 这是的一个 [1] => 例子:Su [2] => perca [3] => liaas [4] => tic )
12、strchr(string,search,before_search) 与strstr/stristr一样 搜索字符串在另一字符串中的第一次出现,并返回字符串的其余部分。
$str = ‘这是的一个例子:Supercaliaastic’;echo strchr($str,’up’,false);//适用于中文//输出 upercaliaastic$email = ‘name@example.com’;echo strrchr($email, ‘a’); //输出 ample.comecho strrchr($email, ‘ex’); //输出 e.com
13、stripos、strpos(string,find,start) 查找字符串在另一字符串中第一次出现的位置
strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)strripos() -查找字符串在另一字符串中最后一次出现的位置(不区分大小写)$str = ‘这是的一个例子:Supercaliaastic’;echo mb_stripos($str,’例’);//适用于中文,不区分大小写echo mb_strpos($str,’例’);//适用于中文,不区分大小写//输出 5# 变量$aa的值“a_bc_”,判断最后一位是否是“_”if (strrpos(aa, '_') === strlen(aa) - 1) {// 是下划线}$string = "Hello, world!";$char = "w";if (strpos($string, $char) !== false) { echo "字符串包含字符 '$char'";} else { echo "字符串不包含字符 '$char'";}
14、strrev(string)反转字符串。
$str = ‘这是的一个例子:Supercaliaastic’;echo strrev($str);//不适用于中文//输出 citsaailacrepuS
15、strtolower()转小写,strtoupper()转大写,lcfirst()首字符小写,ucwords()每个单词(空格割开),
ucfirst()首字符为大写。
16、strtr(string,from,to) 转换字符串中特定的字符。
$str = ‘这是的一个例子:Supercaliaastic’;echo strtr($str,’er’,’hh’);//不适用于中文//输出 这是的一个例子:Suphhcaliaastic
17、substr_replace(string,replacement,start,length) 把字符串的一部分替换为另一个字符串。
$str = ‘这是的一个例子:Supercaliaastic’;echo substr_replace($str,’kppa’,25,2);//不适用于中文//输出 这是的一个例子:Skppaercaliaastic
18、mb_substr(string,start,length) 返回字符串的一部分。
$str = ‘这是的一个例子:Supercaliaastic’;echo mb_substr($str,0,9);//适用于中文//输出 这是的一个例子:S# 变量$aa的值“a_bc_”,判断最后一位是否是“_”if (substr($aa, -1) === '_') {// 是下划线}
19、substr_count(string,substring,start,length)计算子串在字符串中出现的次数。
$str = ‘这是的一个例子:Supercaliaastic’;echo substr_count($str,’这’);//适用于中文,区分大小写//输出 1
20、printf
$num1 = 123;$num2 = 456;printf(“feng%u shi %s de",$num1,$num2);//输出格式化的字符串。echo $res = sprintf(“feng%u shi %s de",$num1,$num2);//把格式化的字符串写入一个变量中。//都是输出 feng123 shi 456 de与sprintf不同,参数位于数组中,把格式化字符串写入变量中。$num1 = 123;$num2 = 456;echo $res = vsprintf(“feng%u shi %s de",array($num1,$num2))//输出 feng123 shi 456 de$num1 = 123;$num2 = 456;echo vsprintf(“%.2f%.3f",array($num1,$num2));//输出 123.00456.000与printf不同,参数位于数组中,直接打印。$num1 = 123;$num2 = 456;vprintf(“feng%u shi %s de",array($num1,$num2));//输出 feng123 shi 456 de$str1 = ‘nameh’;echo vsprintf(“[%s]",array($str1))."<br>";echo vsprintf(“[%8s]",array($str1))."<br>";echo vsprintf(“[%-8s]",array($str1))."<br>";echo vsprintf(“[%08s]",array($str1))."<br>";echo vsprintf(“[%’8s]",array($str1))."<br>";//输出 [nameh][ nameh][nameh ][000nameh][**nameh]
另外:fprintf() 函数把格式化的字符串写入到指定的输出流(例如:文件)
vfprintf()与 fprintf() 不同,vfprintf() 中的参数位于数组中。