php 字符串截取 substr
substr — 返回字符串的子串
语法:substr ( string $string
, int $start
[, int $length
] )
返回值:返回字符串 string
由 start
和 length
参数指定的子字符串。 或者在失败时返回 FALSE
。
示例:
<?php //如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。 echo substr(\'abcdefg\',2); //cdefg //如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。 echo substr(\'abcdefg\',-2); //fg echo strlen(\'abcdefg\'); //7 //如果 string 的长度小于或等于 start,将返回 FALSE var_dump(substr(\'abcdefg\',7)); //bool(false) # 两个参数 //如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。 echo substr(\'abcdefg\',1,2); //bc //如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。 echo substr(\'abcdefg\',1,-1); //bcdef echo substr(\'abcdefg\',-3,-1); //ef //如果提供了值为 0, FALSE 或 NULL 的 length,那么将返回一个空字符串 var_dump(substr(\'abcdefg\',1,0)); // string(0) "" //如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。 echo substr(\'abcdefg\',1); //bcdefg #难度 echo substr(\'a中国g\',1);//中国g echo strlen(\'中国你好\');//12 utf-8 编码 echo substr(\'中国你好\',6);//因一个汉字代表3个字节 ->你好 echo substr(\'中国你好\',4);//��你好->乱码 /* utf-8如何解决乱码 mb_substr 根据自汉字字节来截取 */ echo mb_substr(\'中国你好\',1,3,\'UTF-8\');//国你好