PHP处理字符串的常用函数

str_repeat () 重复一个字符串

$a = str_repeat('abcx',2);
echo $a;//abcxabcx

sprintf() 返回根据格式化字符串生成的字符串

$number = 2;
$str = "Shanghai";
$txt = sprintf("There are %u million cars in %s.",$number,$str);
echo $txt;//There are 2 million cars in Shanghai.

addslashes() 使用反斜线引用字符串 (只在 ‘ “ \ 前添加\ )

$str = addslashes('Shanghai is the "biggest" \ city in China.');
echo($str);//Shanghai is the \"biggest\" \\ city in China.

strlen($str);//返回字符串长度

echo strlen('123123 123')."\n";//10
echo strlen('嘿嘿嘿');//9

mb_strlen($str) 可以返回中文字符长度;


echo mb_strlen('我','gbk')."\n";//2
echo mb_strlen('我我','gbk')."\n";//3
echo mb_strlen('我我我','gbk')."\n";//5
echo mb_strlen('我我我我','gbk');//6
echo mb_strlen('wo 我');//4
echo mb_strlen('wo 我','utf8');//4
//gbk 每个中文占1.5个长度 urf8 1个长度 GB2312 2个长度

strtolower($str);//字母转小写

strtoupper($str);//字母转大写

ucwords($str);//每一个单词的首字母转大写

ucfirst($str);//首字母转大写

lcfirst($str) 首字母转小写

str_replace(‘a’,‘b’,$str);//b替换$str 中的a 区分大小写 ;

echo str_replace('a','b','abcabcaabc',$count);//bbcbbcbbbc
echo $count;//4 //记录替换几次

str_ireplace(‘a’,‘b’,$str);//替换 不区分大小写

htmlentities(string,flags,character-set,double_encode) 将字符转换为 HTML 转义字符
string 必需。规定要转换的字符串。
flags 可选。规定如何处理引号、无效的编码以及使用哪种文档类型。

可用的引号类型:

ENT_COMPAT - 默认。仅编码双引号。
ENT_QUOTES - 编码双引号和单引号。
ENT_NOQUOTES - 不编码任何引号。

无效的编码:
ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。
ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。
ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。

规定使用的文档类型的附加 flags:
ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。
ENT_HTML5 - 作为 HTML 5 处理代码。
ENT_XML1 - 作为 XML 1 处理代码。
ENT_XHTML - 作为 XHTML 处理代码。

character-set 可选。一个规定了要使用的字符集的字符串。

double_encode 可选。布尔值,规定是否编码已存在的 HTML 实体。
TRUE - 默认。将对每个实体进行转换。
FALSE - 不会对已存在的 HTML 实体进行编码。

$str = "Bill & 'Steve'";
echo htmlentities($str, ENT_COMPAT);//Bill & 'Steve' // 只转换双引号
echo "\n";
echo htmlentities($str, ENT_QUOTES); //Bill & 'Steve'// 转换双引号和单引号
echo "\n";
echo htmlentities($str, ENT_NOQUOTES);//Bill & 'Steve' // 不转换任何引号

htmlspecialchars(string,flags,character-set,double_encode)
//字符串转换为html 实体 ENT_COMPT(默认只编译双引号)ENT_QUOTES单引号双引号都编译,ENT_NOQUOTES不编译任何引号

htmlspecialchars_decode(string,flags,character-set,double_encode)将特殊的 HTML 实体转换回普通字符

trim($str);//删除字符串前后(左右)空格

ltrim($str);//只删除字符串左侧的空格

rtrim($str);//只删除字符串右侧的空格
//trim加第二个参数 就是移除指定的字符集 如ltrim($str,‘0…9’) 移除左侧数字开头的字符

strpos($str,'a’,1);//字符串a 在$str 第一次出现的位置 索引1开始 没有出现返回false 区分大小写

stripos($str,'a’);//同上 但是不区分大小写

strrpos($str,'a’);//字符串a 在$str 最后一次出现的位置 索引0开始 没有出现返回false 区分大小写

strripos($str,'a’);//同上 但是不区分大小写

substr($str,0,3);//截取字符串 $str 的第一个字符 截取长度3 长度不填默认截取到最后 参数2为负数则倒数,一个中文3个长度

mb_substr($str,0,3,‘utf8’) //同上 增加参数四 中文长度根据字符集决定

strstr($str,‘a’);//截取字符串 $str 中的第一个字符’a’后的字符串 如 sabc -> abc

strrchr($str,‘a’);//截取字符串 $str 中最后一一个字符’a’后的字符串

strrev($str);//字符串反转 abcd->dcba

md5($str);//字符串MD5加密

str_shuffle($str);//随机打乱字符串顺序

explode(’-’,$str);//指定分隔符分割字符串 返回数组 ‘-’ 分割

implode(’-’,$str);//数组拼接字符串 与explode()相反

parse_str($str) 将字符串解析成多个变量


$str = "first=value&arr[]=foo+bar&arr[]=baz";// 推荐用法
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

str_split() 将字符转化为数组


$str = 'hello';
$arr = str_split($str);
$arr1 = str_split($str,2);
var_dump($arr);
echo "\n";
var_dump($arr1);
​
结果:
array(5) { [0]=> string(1) "h" [1]=> string(1) "e" [2]=> string(1) "l" [3]=> string(1) "l" [4]=> string(1) "o" } 
array(3) { [0]=> string(2) "he" [1]=> string(2) "ll" [2]=> string(1) "o" }

strip_tags() 从字符串中去除 HTML 和 PHP 标记

$str = '

hahaha

'
; echo strip_tags($str,''); //hahaha

str_pad() 字符串填充

$str = 'abc';
echo str_pad($str,5);
结果:
'abc  '


$str = 'abc';
echo str_pad($str,10,"+");
结果:
abc+++++++

substr_count()计算字串出现的次数


$text = 'This is a test';
echo substr_count($text, 'is'); // 2

wordwrap打断字符串分行

$str = 'a b abc dabcde s f d s f f d s f a s d f a';

echo wordwrap($str,5,"\n",true);
echo "\n-----\n";
echo wordwrap($str,5,"\n");
/*
 a b
abc
dabcd
e s f
d s f
f d s
f a s
d f a
-----
a b
abc
dabcde
s f d
s f f
d s f
a s d
f a 
 */

你可能感兴趣的:(PHP)