php字符串函数(一)
一、strpos()函数
strpos() 函数返回字符串在另一个字符串中第一次出现的位置。如果没有找到该字符串,则返回 false。语法结构为strpos(string,find,start)
参数 | 描述 |
---|---|
string | 必需。规定被搜索的字符串。 |
find | 必需。规定要查找的字符。 |
start | 可选。规定开始搜索的位置。 |
注:该函数对大小写敏感。如需进行对大小写不敏感的搜索,请使用 stripos()函数。
示例1:
1<?php
2echo strpos("Hello world!","wo");
3?>
4输出:
56
示例2:
1<?php
2 if (strpos($_POST['email'], '@') === false) {
3 print 'There was no @ in the e-mail address!';
4 }
5?>
以上通过post方法简单的检测邮件地址中是否含有@符号,注意这里一等要使用三个等号来表示或都用!= =这样来取非。
二、strlen()与strstr()
strlen(string)用于返回字符串的长度,如:
1<?php
2echo strlen("a");
3?>
注:上例中的工一点要加引号,不加的话会报错PHP Notice: Use of undefined constant a - assumed 'a'
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。
1<?php
2$email = '[email protected]';
3$domain = strstr($email, '@');
4echo $domain; // 打印 @example.com
5$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
6echo $user; // 打印 name
7?>
1、如果search参数是数字,则搜索匹配数字 ASCII 值的字符。
2、该函数对大小写敏感。如需进行大小写不敏感的搜索,请使用 stristr()。
上面两个函数配合使用的示例如下(查找一串字符中的元音节字符的数量):
1<?php
2$string = "This weekend, I'm going shopping for a pet chicken.";
3$vowels = 0;
4for ($i = 0, $j = strlen($string); $i < $j; $i++) {
5 if (strstr('aeiouAEIOU',$string[$i])) {
6 echo $vowels++ . "<br/>";
7 }
8}
9 //echo $vowels;
10?>
三、substr()
substr() 函数返回字符串的一部分。其语法格式为substr(string,start,length) ,具体用法为
参数 | 描述 |
---|---|
string | 必需。规定要返回其中一部分的字符串。 |
start | 必需。规定在字符串的何处开始。 正数:在字符串的指定位置开始 负数:在从字符串结尾的指定位置开始 0:在字符串中的第一个字符处开始 |
length | 可选。规定要返回的字符串长度。默认是直到字符串的结尾。 正数:从 start 参数所在的位置返回 负数:从字符串末端返回 |
注:如果 start 是负数且 length 小于等于 start,则 length 为 0。
示例:
1print substr('watch out for that tree',6,5);
2//out f
3print substr('watch out for that tree',17);
4//t tree
5print substr('watch out for that tree',20,5);
6//ree
7print substr('watch out for that tree',-6);
8//t tree
9print substr('watch out for that tree',-17,5);
10//out f
11print substr('watch out for that tree',15,-2);
12//hat tr
13print substr('watch out for that tree',-4,-1);
14//tre
四、substr_replace()与str_replace()
1、substr_replace()
substr_replace():把字符串的一部分替换为另一个字符串,其语法结构为substr_replace(string,replacement,start,length)
参数 | 描述 |
---|---|
string | 必需。规定要检查的字符串。 |
replacement | 必需。规定要插入的字符串。 |
start | 必需。规定在字符串的何处开始替换。正数 – 在第 start 个偏移量开始替换负数 – 在从字符串结尾的第 start 个偏移量开始替换0 – 在字符串中的第一个字符处开始替换 |
length | 可选。规定要替换多少个字符。正数 – 被替换的字符串长度负数 – 从字符串末端开始的被替换字符数0 – 插入而非替换 |
1<?php
2echo substr_replace('abcdef', '###', 1); //输出 a###
3echo substr_replace('abcdef', '###', 1, 2); //输出 a###def
4echo substr_replace('abcdef', '###', -3, 2); //输出 abc###f
5echo substr_replace('abcdef', '###', 1, -2); //输出 a###ef
6?>
2、str_replace()
str_replace() 函数使用一个字符串替换字符串中的另一些字符。语法结构为 str_replace(find,replace,string,count)
参数 | 描述 |
---|---|
find | 必需。规定要查找的值。 |
replace | 必需。规定替换 find 中的值的值。 |
string | 必需。规定被搜索的字符串。 |
count | 可选。一个变量,对替换数进行计数。 |
注:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。
例1:
1<?php
2echo str_replace("world","John","Hello world!");
3?>
4输出:
5Hello John!
例2:
1<?php
2$arr = array("blue","red","green","yellow");
3print_r(str_replace("red","pink",$arr,$i));
4echo "Replacements: $i";
5?>
6输出:
7Array
8(
9[0] => blue
10[1] => pink
11[2] => green
12[3] => yellow
13)
14Replacements: 1
例3(及于数组的替换):
1<?php
2$find = array("Hello","world");
3$replace = array("B");
4$arr = array("Hello","world","!");
5print_r(str_replace($find,$replace,$arr));
6?>
7输出:
8Array
9(
10[0] => B
11[1] =>
12[2] => !
13)
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/strpos-strlen-strstr-substr-substr_replace/3010.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.