字符串相关函数列表

1 访问子字符串

函数:strpos($str, $substr);


注意:为了区分返回0和false值,必须使用等同操作符(===)或者不等同操作符(!==)
示例:
<!-- lang: php -->
<?php 
<!-- lang: php -->
if(strpost('sdjflfjslfs', 'a') === false){
<!-- lang: php -->
    echo 'There is no a in this string!';
<!-- lang: php -->
}
<!-- lang: php -->
?>

2 提取子字符串

函数:substr($str, $start, $length)

返回值:字符串
提取规则:
    (1)如果$start和$length都是正值,返回字符串$str中从$start处开始的$length个字符
    (2)如果没有$length(即该参数是可选的),返回字符串$str从$start开始到字符串结尾处的字符串。
    (3)如果$start大于字符串$str的长度,返回false。
    (4)如果$start加$length超过了字符串$str的长度,返回从位置$start开始至字符串结尾的所以字符串。
    (5)如果$start是负值,该函数会从字符串$str的结尾出开始反向推算(即字符串$str的最后一个字符位置为-1,倒数第二个字符位置为-2),来确定要返回的字符串的开始位置
    (6)如果负的$start超过了字符串$str的开始位置,则该函数会将$start的值视为0
    (7)如果$length是负值,该函数会从字符串$str的结尾反向推算,来确定要返回的字符串的结尾位置,如:echo substr('watch out for that tree', 15, -2);结果为hat tr,echo substr('watch out for that tree', -4, -1)结果为tre

注意:字符串  ‘watch out’对应字符的位置
    序列:   w    a     t     c      h            o     u     t      
    正向:   0    1     2     3      4      5     6     7     8     
    反向:  -9   -8    -7    -6     -5     -4    -3    -2    -1

3 替换子字符串

函数:substr_replace($str, $newpartstr, $start, $length)


替换规则:
    (1)如果未指定$length,用字符串$newpartstr替换字符串$str从$start位置处开始到$str结尾的所以字符串。
    (2)如果指定$length,用字符串$newpartstr替换字符串$str从$start位置处开始$length个长度的字符串。
    (3)如果$start是负值,则开始替换的位置从$str的结尾处反响推算来确定,而以开始为起点计算。
    (4)如果$start和$length全部是0,则$newpartstr会被插入到$str的开始的位置
示例:字符串长度超过25个字符的部分用省略号代替
<!-- lang: php -->
<?php 
<!-- lang: php -->
$str = 'Hello, today is a nice! Welcome to China!';
<!-- lang: php -->
echo substr_replace($str, '...', 25);    //输出:Hello, today is a nice! W...
<!-- lang: php -->
?>

4 反转字符串

函数:strrev($str)


示例:按字节来反转字符串
<!-- lang: php -->
<?php
<!-- lang: php -->
$str = Hello'';
<!-- lang: php -->
echo strrev($str);    //输出:olleH
<!-- lang: php -->
 ?>

5 控制大小写

(1) 将一个字符串中的第一个单词的首字母变大写

函数:ucfirst($str);


注意:该函数仅仅是将字符串的第一个单词的首字母变大写。
示例:
<!-- lang: php -->
<?php 
<!-- lang: php -->
$str = 'a nice day!';
<!-- lang: php -->
echo ucfirst($str);    //输出:A nice day!
<!-- lang: php -->

<!-- lang: php -->
$str2 = '1 a nice day!';
<!-- lang: php -->
echo ucfirst($str2);    //输出:1 a nice day!
<!-- lang: php -->
?>

(2)将一个字符串中的每个单词的首字母转换成大写

函数:ucwords($str)


注意:
    对于该函数而言,一个词是指任何非空白序列后跟一个或多个空白字符。因为单引号和连字符均不是空白字符,所以该函数不会将don't中的t或者'po-ao'中的a看作是一个单词的首字母
    ucfirst()和ucwords()函数都不会改变非首字母的大小写形式
示例:
<!-- lang: php -->
<?php 
<!-- lang: php -->
$str = "They don't like this class!";
<!-- lang: php -->
echo ucwords($str);    //输出:They Don't Like This Class!
<!-- lang: php -->
?>

(3)将整个字符串变为小写

函数:strtolower()


示例:
<!-- lang: php -->
<?php 
<!-- lang: php -->
echo strtolower(' A DOG');    //输出:a dog
<!-- lang: php -->
?>

(4)将整个字符串变为大写

函数:strtoupper()


示例:
<!-- lang: php -->
<?php 
<!-- lang: php -->
    echo strtoupper('a dog');    //输出:A DOG
<!-- lang: php -->
?>

6 删除字符串两端的空白符或指定的字符

(1)所谓空白是指下列字符:换行符、回车符、空格符、水平和垂直制表符以及空值(null)
(2)函数:

ltrim($str):用于删除字符串开始处的空白符。
rtrim($str):用于删除字符串结尾处的空白符。
trim($str):用于删除字符串开始和结尾处的空白符。

(3)删除用户制定的字符

函数:trim($str, $character), ltrim($str, $character), rtrim($str, $character)


说明:$character可以指定要删除的字符的范围,在用于指定范围的首字符和末字符之间插入两个点来表示字符的范围
示例:
<!-- lang: php -->
<?php 
<!-- lang: php -->
print ltrim('10 Hello!', '0..9');    //输出:Hello!
<!-- lang: php -->
print rtrim('SELECT name FROM users;', ';');    //输出:SELECT name FROM users
<!-- lang: php -->
?>

7 使文本在特定长度处自动换行

函数:wordwrap($text, $num, $characher,$oparateway)


    $text:是要处理的文本,必填项
    $num:指定行长度,可选参数,默认值为75,单位字符。
    $characher:换行符,可选参数。除了\n之外的其他字符也可以作为换行符。想要输出两个空行,可以用"\n\n"。
    $oparateway:用于控制对那些指定的行长度值更长的单词的处理方式,值为1表示超出指定长度的那些单词会换行;否则,这些单词会保留原来的行长度。
返回值:字符串
示例1:默认值自动换行与指定行长度自动换行
<!-- lang: php -->
<?php 
<!-- lang: php -->
$text ="Today is a nice. 
<!-- lang: php -->
Tomorrow if Friday. I hope tommorrow comes soon.hehe,If Friday comes, can Saturday be far behind! ";
<!-- lang: php -->

<!-- lang: php -->
echo wordwrap($text);
<!-- lang: php -->
echo "\n\n\n\n";
<!-- lang: php -->
echo wordwrap($text,30);
<!-- lang: php -->
?>
    输出:

Today is a nice.
Tomorrow if Friday. I hope tommorrow comes soon.hehe,If Friday comes, can
Saturday be far behind!

Today is a nice.
Tomorrow if Friday. I hope
tommorrow comes soon.hehe,If
Friday comes, can Saturday be
far behind!

示例2:输出两个空行


<?php 
<!-- lang: php -->
$text ="Today is a nice. 
<!-- lang: php -->
Tomorrow if Friday. I hope tommorrow comes soon.hehe,If Friday comes, can Saturday be far behind! ";
<!-- lang: php -->

<!-- lang: php -->
echo wordwrap($text,30,"\n");
<!-- lang: php -->
echo "\n";
<!-- lang: php -->
echo wordwrap($text,30,"\n\n");
<!-- lang: php -->
?>
输出:

Today is a nice.
Tomorrow if Friday. I hope
tommorrow comes soon.hehe,If
Friday comes, can Saturday be
far behind!
Today is a nice.
Tomorrow if

Friday. I hope tommorrow comes

soon.hehe,If Friday comes, can

Saturday be far behind!

示例3:超出指定长度的那些单词会换行


<?php 
<!-- lang: php -->
$text ="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbb";
<!-- lang: php -->

<!-- lang: php -->
echo wordwrap($text,10,"\n");
<!-- lang: php -->
echo "\n";
<!-- lang: php -->
echo wordwrap($text,10,"\n\n",1);
<!-- lang: php -->
?>

 输出:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbb
aaaaaaaaaa

aaaaaaaaaa

aaaaaaaaaa

aaaaaaaaaa

bbbbb

你可能感兴趣的:(字符串相关函数列表)