1.字符串大小写
strtolower($string):返回小写之后的字符串
strtoupper($string):返回大写之后的字符串
ucwords($string):单词的首字母大写
ucfirst($string):字符串的单词的首字母大写
lcfirst($string):字符串的单词的首字母小写
2.字符串查找
strpos($string, $search[, $offset]):在指定字符串中查找目标字符串第一次出现的位置
stripos($string, $search[, $offset]):忽略大小写的去查找
strrpos($string, $search[, $offset]):在指定字符串中查找目标字符串最后一次出现的位置
strripos($string, $search[, $offset]):忽略大小写的去查找最后一次出现的位置
strstr|strchr($string, $search[, $before_needle]):查找字符串的首次出现,返回的是字符串
stristr($string, $search[, $before_needle]):忽略大小写的去查找
strrchr($string, $search):查找指定字符在字符串中的最后一次出现
str_replace($search, $replace, $string):在指定字符串中查找另外一个字符串,找到之后将其替换成指定字符串
str_replace('\\', '/', dirname(__DIR__)));
str_ireplace($search, $replace, $string):忽略大小写的去查找并替换
3.字符串的截取
substr($string, $start[, $length]):截取字符串
substr_replace($string, $replace, $start[, $length]):替换字符串的子串
4.字符ASCII
ord($char):得到指定字符的ASCII
chr($ascii):根据ASCII得到指定的字符
5.加密
md5($string):计算字符串的md5的散列值,返回32位长度的字符串
sha1($string):计算字符串的sha1的散列值,返回40位长度的字符串
hash();
6.过滤
trim($string[, $charlist]):默认过滤字符串两端的空格,也可以过滤指定字符串
ltrim($string[, $charlist]):过滤字符串左端
rtrim|chop($string[, $charlist]):过滤字符串右端
strip_tags($string[, $allowTag]):过滤字符串中的HTML标记
addslashes($string):使用反斜线引用字符串中的特殊字符
htmlentities($string[, $flag=ENT_COMPAT]):将所有字符转换成HTML实体
htmlspecialchars($string[, $flag=ENT_COMPAT]):将字符串中的特殊字符转换成HTML实体
nl2br($string):将字符串中的\n用<br/>替换
7.比较
strcmp($string1, $string2):比较两个字符串的大小
strcasecmp($string1, $string2):忽略大小写的比较字符串的大小
strnatcasecmp($string1, $string2):使用自然顺序算法比较字符串
strncasecmp($string1, $string2, $len):比较字符串的开始的若干个字符
8.拆分/合并
explode($delimiter, $string):将指定字符串拆分成数组
implode|join($delimiter, $array):以指定分隔符将数组中的键值连接成字符串
str_split($string[, $split_length=1]):将字符串转换成数组
9.格式化字符串
printf($format[, $args]):格式化输出字符串
sprintf($format[, $args]):格式化输出字符串
11.检测字符串的字符编码
$encode = mb_detect_encoding($lines, array("ASCII","UTF-8","GB2312","GBK","BIG5"));
if($encode != "UTF-8"){
$lines = iconv($encode,"UTF-8", $lines);
}
strtotime($str); //时间格式的字符串转换成整型时间戳
//注意设置时区 否则会有 8小时误差
12.json的编码与解码
json_encode($obj/$arr/$str...);//编码成json 格式的字符串
json_decode($jsonstr [,$assoc=true]); //解码成对象
//当$assoc=true 时 返回数组 而非对象
13.千位分割格式化
string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
@param $number 你要格式化的数字
$decimals 要保留的小数位数
$dec_point 指定小数点显示的字符
$thousands_sep 指定千位分隔符显示的字符
14.转换字符串编码函数
iconv($in_charset, $out_charset, $str);
$in_charset输入字符集
$out_charset输出字符集
15.字符串转义与反转义函数
addcslashes(string $str , string $charlist);//转义字符串中的特殊字符
//eg. addcslashes($str,"\0..\37!@\177..\377");
//转义ascii 中0-37、177-377中不含@符号的字符
stripcslashes($str) — 反转义addcslashes()函数转义处理过的字符串
返回反转义后的字符串。可识别类似 C 语言的 \n,\r,... 八进制以及十六进制的描述
10.其它常用
strrev($string):反转字符串
str_shuffle($string):随机打乱字符串
str_repeat($string):重复字符串
str_getcsv($input[, $delimiter=','[, $enclosure=''[, $escape='\']]]):解析CSV字符串为一个数组
parse_str($str[, $arr]):将字符串解析成多个变量
// chunk_split() 函数把字符串分割为一连串更小的部分
// 使用此函数将字符串分割成小块非常有用。例如将 base64_encode() 的输出转换成符合 RFC 2045 语义的字符串。它会在每 chunklen 个字符后边插入 end。
str_getcsv($str); //将csv文件字符串转换成一个数组
mb_类型字符串函数
mb_类型字符串与上述字符串函数基本一样,
只是加多一个可选的字符编码参数,用法同上
//strlen:获取字符串长度,字节长度
//int strlen ( string $string )
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
// substr_count — 计算字串出现的次数
// int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
// substr_count() 返回子字符串needle 在字符串 haystack 中出现的次数。注意 needle 区分大小写。
// 不会计算重叠字符串
$text = 'This is a test';
echo substr_count($text, 'is'); // 2
//substr:字符串截取,获取字符串(按照字节进行截取)
//string substr ( string $string , int $start [, int $length ] )
// 如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。
$rest = substr("abcdef", 1,1); // 返回 "b"
$rest = substr("abcdef", -1); // 返回 "f"
$rest = substr("abcdef", -2); // 返回 "ef"
$rest = substr("abcdef", -3, 1); // 返回 "d"
$rest = substr("abcdef", 0, -1); // 返回 "abcde"
$rest = substr("abcdef", 2, -1); // 返回 "cde"
$rest = substr("abcdef", 4, -4); // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de"
// strstr -- 查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始。
// strchr -- strstr 函数的别名
// mixed strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
// /*【 needle 为单个字符 】 */
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com
$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 name
/*【 needle 为数字 】 */
$email = 'name@example.com'; //字母a的 ASCII码为 97
$behind = strstr($email, 97);
echo $behind; // 打印 ame@example.com
$front = strstr($email, 97, true); // 从 PHP 5.3.0 起
echo $front; // 打印 n
/*【 needle 为字符串 】 */
$email = 'name@example.com';
$behind = strstr($email, 'ex');
echo $behind; // 打印 example.com
$front = strstr($email, 'ex', true); // 从 PHP 5.3.0 起
echo $front; // 打印 name@
// stristr -- strstr 函数的忽略大小写版本
$email = 'name@example.com';
$behind = stristr($email, 'A');
echo $behind; // 打印 ame@example.com
$front = stristr($email, 'A', true); // 从 PHP 5.3.0 起
echo $front; // 打印 n
// strrchr -- 查找字符串的最后一次出现,返回字符串从最后一次出现的位置开始到该字符串的结尾。
// mixed strrchr ( string $haystack , mixed $needle )
/*【 needle 为字符 】 */
$email = 'name@example.com';
$behind = strrchr($email, 'a');
echo $behind; // 打印 ample.com
/*【 needle 为字符串 】 */
$email = 'name@example.com';
$behind = strrchr($email, 'am');
echo $behind; // 打印 ample.com
/*【 needle 为数字 】 */
$email = 'name@example.com';
$behind = strrchr($email, 97);
echo $behind; // 打印 ample.com
// strtolower:所有的字符都小写(针对英文字母)
// strtoupper:所有的字符都大写
// strrev:字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转
echo strrev("Hello world!"); // 输出 "!dlrow olleH"
echo "<hr>";
// strpos:从字符串中找对应字符出现的位置(数字下标),从最左边开始找,同时注意字符串位置是从0开始,而不是从1开始的。
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme); //0
echo $pos;
// strrpos:与strpos一样,只是从字符串的右边开始找
// trim:去掉函数两边的字符,默认是空格
// str_split 函数把字符串分割到数组中。
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
以上例程会输出:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)