PHP字符串编辑函数

chunk_split:将字符串分割成小块,接受三个参数,第一个参数为必需的要分割的字符串,第二个参数为可选的指定每个小块长度,第三个参数为可选的在每个小块后面插入的字符,默认为“\r\n”。换行符也会做为一个字符计算在长度内,注意中文问题,中文占三个字符,如果中文字符处在两块的边界上,那么会出现乱码。

explode:使用一个字符串分割另一个字符串,接受三个参数,第一个参数为做为边界的字符串,第二个参数为要进行分割的字符串,第三个参数为可选的,用于限制返回数组中元素的个数,如果是正数,则返回的数组最多包含这些数量的元素,最后的元素包含剩余的部分,如果是负数,则返回除了最后的这些数量的元素外的所有元素,如果是0则不会分割,与1效果相同。如果分隔符传入了空字符串,将返回false。如果分隔符在要分割的字符串中找不到且最后的限制参数为负数则返回空数组,否则返回包含字符串单个元素的数组。

get_html_translation_table:返回使用htmlspecialchars()和htmlentities()后的转换表,接受三个可选参数,第一个是想要获取的表,有两个常量HTML_ENTITIES、HTML_SPECIALCHARS,默认为HTML_SPECIALCHARS,第二个参数为标记常量,默认为ENT_COMPAT|ENT_HTML401,第三个参数为编码,默认为UTF-8。

implode:将一个一维数组的值转化为字符串,与explode互补。有两种调用方式,第一种是只传一个数组,此时会将数组中的元素直接连接到一起后返回,第二种是传入一个字符串,做为数组元素的分隔符,然后再传入要转换的数组。如果传入的是空数组则返回空字符串。

join:函数implode的别名。

strtolower:将字符串转换为小写。

strtoupper:将字符串转换为大写。

lcfirst:将一个字符串的第一个字符小写。

ucfirst:将字符串的首字母转换为大写。

ltrim:除字符串开头的空白字符(或其他字符),接受两个参数,第一个是要处理的字符串,第二个是可选的要处理的字符列表,可以使用..来表示范围。如果不指定第二个参数,那么仅删除“ ”、“\t”、“\n”、“\r”、“\0”、“\xoB”字符。

rtrim:除字符串末尾的空白字符(或其他字符),接受两个参数,第一个是要处理的字符串,第二个是可选的要处理的字符列表,可以使用..来表示范围。如果不指定第二个参数,那么仅删除“ ”、“\t”、“\n”、“\r”、“\0”、“\xoB”字符。

chop:rtrim的别名。

nl2br:在字符串所有新行之前插入HTML换行标记,接受两个参数,第一个为要处理的字符串,第二个为可选的表示是否使用XHTML兼容换行符,默认为true会插入<br />否则会插入<b>。

str_pad:使用另一个字符串填充字符串为指定长度,接受四个参数,第一个参数为必需的要进行填充的字符串,第二个参数为必需的填充后的字符串长度,如果此参数的值为负数或者小于等于第一个参数的长度,则不会进行填充,返回第一个参数,第三个参数为可选的,指定用于填充的字符,如果需要填充的字符长度不能被此参数的长度整除,该参数指定的字符可能会被缩短。默认为空格“ ”,第四个参数为可选的填充类型,可选值为STR_PAD_RIGHT,STR_PAD_LEFT或STR_PAD_BOTH,默认值为STR_PAD_RIGHT。

str_repeat:重复一个字符串,接受两个参数,第一个是要重复的字符串,第二个为重复次数,必须大于等于0,如果为0,则返回空字符串,如果为负数则会产生警告。

str_replace:子字符串替换,接受四个参数,第一个参数为要被替换的字符串/数组,第二个参数为替换后的字符串/数组,第三个参数为要进行替换的字符串/数组,第四个参数为可选的,变量的引用,将被赋值为替换发生的次数。如果前两个参数为数组,则对第三个参数做映射替换,如果第二个的值的个数少于第一个则多余的使用空字符串进行替换。如果第一个参数是数组,第二个参数是字符串,则始终用此字符串进行替换。此函数区分大小写。

str_ireplace:str_replace的忽略大小写版本。

str_shuffle:随机打乱一个字符串。

strip_tags:从字符串中去除HTML和PHP标记。接受两个参数,第一个是要进行处理的字符,第二个是可选的不被去除的标记列表。

strrev:反转字符串。

strtok:标记分割字符串,有两种传参方式,第一种是传入两个参数,第一个为要进行分割的字符串,第二个是分割标记,第二种是只传入一个分割标记。在使用时仅在第一次调用用strtok函数时传入要进行分割的字符串,后面每次调用只传入分割标记即可。如果需要重新分隔字符串,需要重新传入字符串。分割标记可以传入多个字符,字符串会被其中任意一个标记分割。在分割结束时会返回false,但是也可能返回的是等同于false的非布尔值,所以需要使用全等和不全等运算符进行比较。

strtr:转换指定字符,有两种传参方式,第一种是传入三个参数,第一个为要进行转换的字符串,第二个为要进行转换的字符,第三个为转换后的字符。第二种方式是传入两个参数,第一个为要进行转换的字符串,第二个参数为一个以要转换的字符为键,转换后的字符为值的数组。以第一种方式调用时,如果要转换的字符和转换后的字符长度不一致,则多余的部分会被忽略,字符是一个一个进行替换的,而不是完全匹配后才会替换。以第二种方式调用时,需要完全匹配才会进行替换。

substr_replace:替换字符串的子串,接受四个参数,第一个是要替换的字符串,第二个是替换后的字符串,第三个是起始位置start,第四个是可选的替换的长度。四个参数除了可以是字符串或者数值外,还以传入对应类型数组。如果是数组则与str_replace类似,会按数组对应的元素进行替换。如果start为正数则从start位置开始替换,如果为负数,则从后往前的第start位开始。如果长度为整数,则表示被替换的子字符串的长度,如果为负数则表示待替换的子字符串的结尾到字符串末尾的距离,默认为字符串的长度,如果为0,则表示将子字符串插入到字符串的start位置处。返回结果与第一个参数的类型相同。

substr:返回字符串的子串,接受三个参数,第一个是输入字符串,至少有一个字符,第二个是子字符串的起始位置,第三个是可选的子字符串的长度,如果起始位置是负数,则从字符串的末尾开始计算起始位置,如果字符串的长度小于起始位置下标,则返回false。如果长度为正数,则表示从起始位置起多少个字符,如果为负数,则表示从起始位置起至从末尾第多少个字符,如果为0,false或null,则返回空字符串。

trim:去除字符串首尾处的空白字符(或者其他字符),接受两个参数,第一个是要处理的字符串,第二个是可选的要处理的字符列表,可以使用..来表示范围。如果不指定第二个参数,那么仅删除“ ”、“\t”、“\n”、“\r”、“\0”、“\xoB”字符。

ucwords:将字符串中每个单词的首字母转换为大写,接受两个参数,第一个是要转换的字符串,第二个是可选的分隔符列表,默认为“ \t\r\n\f\v”(空格符、制表符、换行符、回车符、水平线以及竖线),对于此函数单词的定义是紧跟在分隔符之后的子字符串。

wordwrap:打断字符串为指定数量的子串,接受四个参数,第一个是要处理的字符串,第二个是可选的子串的长度,默认为75,第三个是可选的每个子串后面插入的字符,默认为“\n”,最后一个子串后面不会插入该字符。第四个参数是可选的用于指定是否总是在指定的长度处打断。如果设置为true,则长度超过指定长度的单词将会被分隔开。当为false时,则不会进行分隔,默认为false。

str_split:将字符串转换为数组,接受两个参数,第一个是要转换的字符串,第二个是可选的每个数组元素的最大长度,默认为1,如果长度小于1,则返回false,如果长度超过了字符串的长度,则整个字符串做为一个数组元素返回。

hebrev:将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew),接受两个参数第一个是逻辑顺序希伯来文,第二个是可选的每行可返回的最多字符数,此函数会避免破坏单词。

hebrevc: 将逻辑顺序希伯来文(logical-Hebrew)转换为视觉顺序希伯来文(visual-Hebrew),与hebrev函数唯一的区别是会额外将换行符“\n”转换为“<br>\n”。

<?php
$str = "HelloWorld!\nHelloWorld!";
echo chunk_split($str,5,"@$")."\n";
echo ucfirst("abc");
$str = "a b c d e f";
var_dump(explode(" ",$str,-3));
var_dump(get_html_translation_table());
echo implode(array(1,2,3))."\n";
echo strtoupper($str)."\n";
echo strtolower($str)."\n";
echo lcfirst(strtoupper($str))."\n";
echo ucfirst(strtolower($str))."\n";
$str="    
asdasddad   
     
";
echo ltrim($str);
echo "===================\n";
echo rtrim($str)."\n";
$str="a
b
c
d
e
";
echo nl2br($str);
$str="abc\n";
echo str_pad($str,5)."<<\n";
echo str_repeat("abc",3)."\n";
$count;
echo str_replace("l","L","hello",$count)."\n";
echo $count."\n";
echo str_replace(array("l","e","o"),array("L","E"),"hello")."\n";
var_dump(str_replace("l","L",array("h","e","l","l","o")));
echo str_replace(array("L","e"),"a","hello")."\n";
echo str_ireplace(array("L","e"),"a","hello")."\n";
$str="HelloWorld";
echo str_shuffle($str)."\n";
echo str_shuffle($str)."\n";
echo strip_tags("<p>HelloWorld</p><b>another text</b>","<p>")."\n";
echo strrev($str)."\n";
$token=strtok("Hello world"," ");
while($token!==false){
    echo "$token\n";
    $token=strtok("r");
}
$str="adccbcde";
echo strtr($str,"cdca","asd")."\n";
echo strtr($str,array("cd"=>"mad"))."\n";
echo substr_replace($str,"AAAA",2)."\n";
echo substr_replace($str,"AAAA",2,3)."\n";
echo substr_replace($str,"AAAA",-2,0)."\n";
echo substr($str,2)."\n";
echo substr($str,2,3)."\n";
var_dump(substr($str,-2,0));
$str="hello world";
echo ucwords($str)."\n";
$str="a long worrrrrrrrrrrrrrrrd test";
echo wordwrap($str,4)."\n";
echo wordwrap($str,4,"\n",true)."\n";
var_dump(str_split($str,10));
?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值