PHP 字符串整理归类
Posted 诚享人生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 字符串整理归类相关的知识,希望对你有一定的参考价值。
/**
斜杠、反斜杠相关函数
斜杠 (迈克杰克逊的经典动作) 反斜杠 (倒立)
addcslashes("php","p");函数 输出php 返回指定字符前添加反斜杠
addslashes("who‘s xsh?"); 输出:who‘s xsh? 返回在预定义字符之前添加反斜杠
stripslashes() 函数删除由 addslashes() 函数添加的反斜杠
*/
/**
进制转换相关函数
bin2hex(‘hellp php.cn‘) 函数把二进制参数转换为十六进制字符串
hex2bin() 把十六进制值的字符串转换为ASCII字符 bin2hex()把二进制的参数转换为十六进制字符串
chr(ascii) 从指定的ascii值返回字符
convert_cyr_string() 把字符串由一种Cyrillic 字符集转换成另一种
crc32() 函数计算
ord() 返回字符串中第一个字符的ascii值
str_rot13(string) 函数对字符串执行ROT13编码
str_rot13() 函数对字符串执行 ROT13 编码。
ROT13 编码是把每一个字母在字母表中向前移动 13个字母得到。数字和非字母字符保持不变。
编码和解码都是由相同的函数完成的。如果您把一个已编码的字符串作为参数,那么将返回原始字符串
*/
/**
编码解码、加密解密类
convert_uudecode() 对uuencode 编码的字符串进行解码
convert_uuencode() 使用uuencode算法进行编码
crypt() 单向的字符串加密法
sha1() 计算字符串的SHA-1 散列
MD5(string,raw); raw TRUE 原始16字符二进制输出格式 FALSE 默认 32字符十六进制数
sha1_file(file,raw) 计算文件的SHA-1散列
$filename = "test.txt";
$sha1file = sha1_file($filename);
raw :TRUE 原始20字符二进制格式
FALSE 默认 40字符十六进制
md5_file(file,raw) 计算文件的SHA-1散列
$filename = "test.txt";
$md5file = md5_file($filename);
*/
/**
html实体相关
html_entity_decode() 把html实体转换为字符
htmlentities() 把字符转换html实体
htmlspecialchars_decode() 把一些预定义的字符串转换为html实体
htmlspecialchars() 把一些与定义的字符串转换为html实体
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
*/
/**
删除字符串空格或其他预定义字符串
chop()函数与rtrim()函数相同 删除字符串右侧空格或其他预定义字符串
ltrim() 移除字符串左侧的空表字符或其他字符
rtrim() 移除字符串右侧的空表字符或其他字符
trim() 移除字符串的空表字符或其他字符
chomp() 返回删除的字符数量。
*/
/**
格式化、标准化
nl2br()在字符串中的每个新行之前插入HTML换行符
number_format()通过千位分组来格式化数字
wordwrap() 函数按照指定长度对字符串进行折行处理。
$str = "An example of a long word is: Supercalifragulistic";
echo wordwrap($str,15,"<br> ");
*
*/
/**
分割、替换、字符、查找串
chunk_split(string,length,end); leng默认76 end默认
str_ireplace(find,replace,string,count) 字符串中的一些字符(不区分大小写) str_replace() 区分大小写
str_shuffle() 函数随机第打乱字符串中所有的字符
strtok() 把字符串分割为更小的字符串
strtr() 函数转换字符串中特定的字符 echo strtr("Hilla Warld","ia","eo");
strchr() 查找字符串在另一个字符串中第一次出现(大小写不敏感) strstr() (大小写敏感)
stripos() 返回字符串在另一个字符串中第一次出现的位置 大小写不敏感
strripos() 返回字符串在另一个字符中最后一次出现的位置 大小写不敏感
strpos(string,find,start) 返回字符串在另一个字符串中第一次出现的位置(大小写敏感)
strrpos() 查找字符串在另一个字符串最后一次出现的位置(大小写敏感)
stristr() 查找字符串在另一个字符串中第一次出现的位置 大小写不敏感
strstr() 函数搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE (大小写敏感)
strpbrk()在字符串中搜索指定字符中的任意一个 (返回指定字符以及之后的字符)
strrchr(string,char) 查找字符串在另一个字符串中最后一次出现并返回从该位置到字符串结尾的所有字符
strrchr(string,char) 查找字符串在另一个字符串中最后一次出现并返回从该位置到字符串结尾的所有字符
strrev() 反转字符串
*/
/**
输入输出字符串
echo 输出一个或者多个字符串
fprintf()函数 把格式化的字符串写入到指定的输出流 (例如:文件或数据库);
$str = "Hello";
$number = 123;
$file = fopen("test.txt","w");
echo
fprintf($file,"%s world. Day number %u",$str,$number)
文本输出:以下文本将写入 "test.txt":
Hello world. Day number 123
sprintf(format,arg1,arg2,arg++) 把格式化的字符串写入一个变量中
vfprintf() 函数把格式化的字符串写到指定的输出流(例如:文件或数据库)
与 fprintf() 不同,vfprintf() 中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入第一个数组元素,在第二个 % 符号处,插入第二个数组元素,依此类推。
fprintf(file,format,arg1,arg2,arg++) 把格式化的字符串写入到指定的输出流 (例如:文件或数据库);
与 sprintf() 不同,vsprintf() 中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入第一个数组元素,在第二个 % 符号处,插入第二个数组元素,依此类推。
sscanf(string,format,arg1,arg2,arg++) 函数根据指定的格式解析来自一个字符串的输入。
$str = "If you divide 4 by 2 you‘ll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
Array ( [0] => If [1] => you [2] => divide [3] => 4 [4] => by [5] => 2 [6] => you‘ll [7] => get [8] => 2 )
str_getcsv(string,separator,enclosure,escape) 解析csv格式字段的字符串 并返回一个包含所读取字段的数组 解决了explode无法解决的问题
$str = "中国,广东省,广州市,天河区,‘113.329884,23.154799‘,1,‘2016-01-01 12:00:00‘,‘1,2,3,4,5,6‘";
$arr = str_getcsv($str, ‘,‘, "‘");
[0] => 中国
[1] => 广东省
[2] => 广州市
[3] => 天河区
[4] => 113.329884,23.154799
[5] => 1
[6] => 2016-01-01 12:00:00
[7] => 1,2,3,4,5,6
string必需。规定要解析的字符串。
separator可选。设置字段分界符(只允许一个字符),默认值为逗号( , )。
enclosure可选。设置字段环绕符(只允许一个字符),默认值为双引号( " )。
escape可选。设置转义字符(只允许一个字符),默认值为反斜线( )。
substr(string,start,length) 函数返回字符串的一部分。只针对英文
mb_substr("菜鸟教程", 0, 2); 对中文
*/
/**
字符大小写转换
lcfirst() 函数把字符串中的首字符转换为小写
ucfirst() 把字符串中的首字符转换为大写
ucwords() 把字符串中每个单词的首字符转化为大写
strtoupper() 把字符串中每一个单词的首字符转换为大写
strtolower() 把字符串转换为小写
*/
/**
统计类
str_word_count() 计算字符串中的单词数
substr_count(string,substring,start,length) 函数计算子串在字符串中出现的次数。
strlen() 返回字符串的长度
strspn(string,charlist,start,length) 函数返回在字符串中包含 charlist 参数中指定的字符数目。重复的只算1
strcspn() 函数来返回在找到任何指定的字符之前,在字符串查找的字符数
*/
/**
字符串比较
strcasecmp() 比较两个字符串(大小不敏感) strncasecmp() 可以指定每个字符串用于比较的字符数
strcmp()比较两个字符串 大小写敏感
strcoll()比较两个字符串(根据本地设置)
substr_compare() 函数从指定的开始位置比较两个字符串。 返回0相等 <0 string1 小于string2 >0 则相反
substr_replace(string,replacement,start,length) 函数把字符串的一部分替换为另一个字符串。 length 0 插入而非替换
strnatcasecmp() 使用一种自然排序算法来比较两个字符串(大小写敏感)
strnatcmp() 使用一种自然排序算法来比较两个字符串(大小写敏感)
strncasecmp() 前n个字符串比较(大小写不敏感)
strncmp() 前n个字符的字符串比较 (大小写敏感)
*/
/**
数组-字符串交互
implode(separator,array) 返回一个有数字元素组合成的字符串 separator 为可选参数 join() 与implode 函数相同
explode(separator,string,limit) 把字符串打散为数组
可选。规定所返回的数组元素的数目。可能的值:
大于 0 - 返回包含最多 limit 个元素的数组,
小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组,
==0 - 返回包含一个元素的数组
$a = "aa|bb|cc|";
$b = explode("|",$a,-3);
输出:array(1) { [0]=> string(2) "aa" }
*
str_split(string,length)函数把字符串分割到数组中
*/
/**
其他类
count_chars(string,mode)函数 返回字符串所用字符的信息
0 - 数组,ASCII 值为键名,出现的次数为键值
1 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数大于 0 的值
2 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数等于 0 的值
3 - 字符串,带有所有使用过的不同的字符
4 - 字符串,带有所有未使用过的不同的字符
get_html_translation_table(HTML_SPECIALCHARS)
get_html_translation_table(HTML_ENTITIES) 返回htmlspecialchars()和htmlentities() 使用的翻译表
hebrev() 把希伯来文本转换为可见文本 hebrevc() 把希伯来文本转换为可见文本 并把新行( )转换为<br>
levenshtein(string1,string2,insert,replace,delete) 返回两个字符串之间的Levenshtein距离
localeconv() 返回本地数字及货币格式信息
setlocale() 设置地区信息 (地域信息)
similar_text() 计算两个字符串的相似度 也能计算两个字符串的百分比相似度
soundex() 计算两个字符串的soundex键
nl_langinfo() 函数返回指定的本地信息。 无法在windows使用
str_pad(string,length,pad_string,pad_type)
length:填充字符串的长度
pad_string 填充使用的字符串 默认空白
pad_type:
STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。
STR_PAD_LEFT - 填充字符串的左侧。
STR_PAD_RIGHT - 填充字符串的右侧。这是默认的。
str_repeat(string,repeat) 函数把字符串重复指定的次数。字符串将被重复的次数 必须大于等于0
strcspn() 返回在找到任何指定的字符之前,在字符串查找的字符数
parse_str(string,array) 把查询字符串解析到变量中
*/
/** * 斜杠 (迈克杰克逊的经典动作) 反斜杠 (倒立) * 斜杠、反斜杠相关函数 * * addcslashes("php","p");函数 输出php 返回指定字符前添加反斜杠 * addslashes("who‘s xsh?"); 输出:who‘s xsh? 返回在预定义字符之前添加反斜杠 * stripslashes() 函数删除由 addslashes() 函数添加的反斜杠 * * */
/** * 进制转换相关函数 * * bin2hex(‘hellp php.cn‘) 函数把二进制参数转换为十六进制字符串 * hex2bin() 把十六进制值的字符串转换为ASCII字符 bin2hex()把二进制的参数转换为十六进制字符串 * chr(ascii) 从指定的ascii值返回字符 * convert_cyr_string() 把字符串由一种Cyrillic 字符集转换成另一种 * crc32() 函数计算 * ord() 返回字符串中第一个字符的ascii值 * str_rot13(string) 函数对字符串执行ROT13编码str_rot13() 函数对字符串执行 ROT13 编码。ROT13 编码是把每一个字母在字母表中向前移动 13个字母得到。数字和非字母字符保持不变。编码和解码都是由相同的函数完成的。如果您把一个已编码的字符串作为参数,那么将返回原始字符串 */
/** * 编码解码、加密解密类 * * convert_uudecode() 对uuencode 编码的字符串进行解码 * convert_uuencode() 使用uuencode算法进行编码 * crypt() 单向的字符串加密法 * sha1() 计算字符串的SHA-1 散列 * MD5(string,raw); raw TRUE 原始16字符二进制输出格式 FALSE 默认 32字符十六进制数 * sha1_file(file,raw) 计算文件的SHA-1散列$filename = "test.txt";$sha1file = sha1_file($filename);raw :TRUE 原始20字符二进制格式 FALSE 默认 40字符十六进制 md5_file(file,raw) 计算文件的SHA-1散列$filename = "test.txt";$md5file = md5_file($filename); * */
/** * html实体相关 * html_entity_decode() 把html实体转换为字符 * htmlentities() 把字符转换html实体 * htmlspecialchars_decode() 把一些预定义的字符串转换为html实体 * htmlspecialchars() 把一些与定义的字符串转换为html实体 * strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。 * */
/** * 删除字符串空格或其他预定义字符串 * * chop()函数与rtrim()函数相同 删除字符串右侧空格或其他预定义字符串 * ltrim() 移除字符串左侧的空表字符或其他字符 * rtrim() 移除字符串右侧的空表字符或其他字符 * trim() 移除字符串的空表字符或其他字符 * chomp() 返回删除的字符数量。 */ /** * 格式化、标准化 * nl2br()在字符串中的每个新行之前插入HTML换行符 * number_format()通过千位分组来格式化数字 * wordwrap() 函数按照指定长度对字符串进行折行处理。 $str = "An example of a long word is: Supercalifragulistic";echo wordwrap($str,15,"<br>
"); * */
/** * 分割、替换、字符、查找串 * chunk_split(string,length,end); leng默认76 end默认
* str_ireplace(find,replace,string,count) 字符串中的一些字符(不区分大小写) str_replace() 区分大小写 * str_shuffle() 函数随机第打乱字符串中所有的字符 * strtok() 把字符串分割为更小的字符串 * strtr() 函数转换字符串中特定的字符 echo strtr("Hilla Warld","ia","eo"); * strchr() 查找字符串在另一个字符串中第一次出现(大小写不敏感) strstr() (大小写敏感) * stripos() 返回字符串在另一个字符串中第一次出现的位置 大小写不敏感 * strripos() 返回字符串在另一个字符中最后一次出现的位置 大小写不敏感 strpos(string,find,start) 返回字符串在另一个字符串中第一次出现的位置(大小写敏感)strrpos() 查找字符串在另一个字符串最后一次出现的位置(大小写敏感) * stristr() 查找字符串在另一个字符串中第一次出现的位置 大小写不敏感 * strstr() 函数搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE (大小写敏感) * strpbrk()在字符串中搜索指定字符中的任意一个 (返回指定字符以及之后的字符) * strrchr(string,char) 查找字符串在另一个字符串中最后一次出现并返回从该位置到字符串结尾的所有字符 * strrchr(string,char) 查找字符串在另一个字符串中最后一次出现并返回从该位置到字符串结尾的所有字符 * strrev() 反转字符串 * */
/** * 输入输出字符串 * echo 输出一个或者多个字符串 * fprintf()函数 把格式化的字符串写入到指定的输出流 (例如:文件或数据库);$str = "Hello";$number = 123;$file = fopen("test.txt","w");echo fprintf($file,"%s world. Day number %u",$str,$number)文本输出:以下文本将写入 "test.txt":Hello world. Day number 123 * * sprintf(format,arg1,arg2,arg++) 把格式化的字符串写入一个变量中
vfprintf() 函数把格式化的字符串写到指定的输出流(例如:文件或数据库)与 fprintf() 不同,vfprintf() 中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入第一个数组元素,在第二个 % 符号处,插入第二个数组元素,依此类推。 fprintf(file,format,arg1,arg2,arg++) 把格式化的字符串写入到指定的输出流 (例如:文件或数据库); 与 sprintf() 不同,vsprintf() 中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入第一个数组元素,在第二个 % 符号处,插入第二个数组元素,依此类推。 sscanf(string,format,arg1,arg2,arg++) 函数根据指定的格式解析来自一个字符串的输入。 $str = "If you divide 4 by 2 you‘ll get 2"; $format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format); Array ( [0] => If [1] => you [2] => divide [3] => 4 [4] => by [5] => 2 [6] => you‘ll [7] => get [8] => 2 ) * * str_getcsv(string,separator,enclosure,escape) 解析csv格式字段的字符串 并返回一个包含所读取字段的数组 解决了explode无法解决的问题$str = "中国,广东省,广州市,天河区,‘113.329884,23.154799‘,1,‘2016-01-01 12:00:00‘,‘1,2,3,4,5,6‘";$arr = str_getcsv($str, ‘,‘, "‘"); [0] => 中国 [1] => 广东省 [2] => 广州市 [3] => 天河区 [4] => 113.329884,23.154799 [5] => 1 [6] => 2016-01-01 12:00:00 [7] => 1,2,3,4,5,6string必需。规定要解析的字符串。separator可选。设置字段分界符(只允许一个字符),默认值为逗号( , )。enclosure可选。设置字段环绕符(只允许一个字符),默认值为双引号( " )。escape可选。设置转义字符(只允许一个字符),默认值为反斜线( )。 * * substr(string,start,length) 函数返回字符串的一部分。只针对英文mb_substr("菜鸟教程", 0, 2); 对中文 * */
/** * 字符大小写转换 * lcfirst() 函数把字符串中的首字符转换为小写 * ucfirst() 把字符串中的首字符转换为大写 * ucwords() 把字符串中每个单词的首字符转化为大写 * strtoupper() 把字符串中每一个单词的首字符转换为大写 * strtolower() 把字符串转换为小写 * */
/** * 统计类 * str_word_count() 计算字符串中的单词数 * substr_count(string,substring,start,length) 函数计算子串在字符串中出现的次数。 * strlen() 返回字符串的长度 * strspn(string,charlist,start,length) 函数返回在字符串中包含 charlist 参数中指定的字符数目。重复的只算1 * strcspn() 函数来返回在找到任何指定的字符之前,在字符串查找的字符数 * * */
/** * 字符串比较 * strcasecmp() 比较两个字符串(大小不敏感) strncasecmp() 可以指定每个字符串用于比较的字符数 * strcmp()比较两个字符串 大小写敏感 * strcoll()比较两个字符串(根据本地设置) * substr_compare() 函数从指定的开始位置比较两个字符串。 返回0相等 <0 string1 小于string2 >0 则相反 * substr_replace(string,replacement,start,length) 函数把字符串的一部分替换为另一个字符串。 length 0 插入而非替换 * strnatcasecmp() 使用一种自然排序算法来比较两个字符串(大小写敏感)strnatcmp() 使用一种自然排序算法来比较两个字符串(大小写敏感)strncasecmp() 前n个字符串比较(大小写不敏感)strncmp() 前n个字符的字符串比较 (大小写敏感) * * * */
/** * 数组-字符串交互 * implode(separator,array) 返回一个有数字元素组合成的字符串 separator 为可选参数 join() 与implode 函数相同 * explode(separator,string,limit) 把字符串打散为数组可选。规定所返回的数组元素的数目。可能的值:大于 0 - 返回包含最多 limit 个元素的数组,小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组,==0 - 返回包含一个元素的数组$a = "aa|bb|cc|";$b = explode("|",$a,-3);输出:array(1) { [0]=> string(2) "aa" } * * str_split(string,length)函数把字符串分割到数组中 * */
/** * 其他类 * count_chars(string,mode)函数 返回字符串所用字符的信息0 - 数组,ASCII 值为键名,出现的次数为键值1 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数大于 0 的值2 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数等于 0 的值3 - 字符串,带有所有使用过的不同的字符4 - 字符串,带有所有未使用过的不同的字符 * get_html_translation_table(HTML_SPECIALCHARS)get_html_translation_table(HTML_ENTITIES) 返回htmlspecialchars()和htmlentities() 使用的翻译表 * hebrev() 把希伯来文本转换为可见文本 hebrevc() 把希伯来文本转换为可见文本 并把新行(
)转换为<br> * levenshtein(string1,string2,insert,replace,delete) 返回两个字符串之间的Levenshtein距离 * localeconv() 返回本地数字及货币格式信息 * setlocale() 设置地区信息 (地域信息) * similar_text() 计算两个字符串的相似度 也能计算两个字符串的百分比相似度 * soundex() 计算两个字符串的soundex键 * nl_langinfo() 函数返回指定的本地信息。 无法在windows使用 * str_pad(string,length,pad_string,pad_type)length:填充字符串的长度pad_string 填充使用的字符串 默认空白pad_type:STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。STR_PAD_LEFT - 填充字符串的左侧。STR_PAD_RIGHT - 填充字符串的右侧。这是默认的。 * str_repeat(string,repeat) 函数把字符串重复指定的次数。字符串将被重复的次数 必须大于等于0 * strcspn() 返回在找到任何指定的字符之前,在字符串查找的字符数 * parse_str(string,array) 把查询字符串解析到变量中 */
以上是关于PHP 字符串整理归类的主要内容,如果未能解决你的问题,请参考以下文章