敬请阅读

PHP函数使用 截取/检测是否包含文本

2019年8月17日 分类:软件开发与调试 作者:tetsai

声明:本页面已按照MIP设计规范为移动端进行优化,可能存功能或内容缺失,完整版可以点此跳到底部然后查看.

tetsai

原创声明

本文由tetsai原创,转载请注明来源

用于从字符串中读取相关文本片段。

有关函数如下:

  • substr():切割字符串,从中切割出一部分字符串
  • strstr():找出文本在另一个文本中出现的第一次位置,并返回从结尾到这个位置的所有字符
  • subchr():同 strstr()
  • strrchr():与strstr不同的是,它不是出现第一次,而是最后一次

substr()

substr() 切割字符串,从中切割出一部分字符串

语法:

string substr ( string string, int start [, int length] )
参数说明
string欲操作的文本
start从哪开始,不写默认为 0 ,为负数就倒着来,按"倒数第几"计算
length截取长度,无论正负都是从左到右

关于length的补充:为负意味着,截取长度为剩余长度-这负数绝对值,或者说剩余长度加这个负数,这意味着如果负数太大,计算结果小于0,length就只能为0了(不可能成负数吧

例子:

<?php
echo substr('abcdef', 1);      //输出 bcdef
echo substr('abcdef', 1, 2);   //输出 bc
echo substr('abcdef', -3, 2);  //输出 de
echo substr('abcdef', 1, -2);  //输出 bcd
?>

strstr()

找出文本在另一个文本中出现的第一次位置,并返回从结尾到这个位置的所有字符,没找到返回false

语法:

string strstr ( string string, string needle )
参数说明
string输入文本
needle输入待查找的文本,如果是数字就按ASCII字符算

例子:

<?php
$email = 'user@5idev.com';
$domain = strstr($email, '@');
echo $domain;			// 输出 @5idev.com
?>

提示

大小写会影响这个函数的运行结果。如果想无视大小写,就用 stristr() 。

strchr()

同 strstr() 。

strrchr()

函数行为与strstr一致,与strstr不同的是,它不是出现第一次,而是最后一次,没找到一样是返回false

语法:

string strrchr ( string string, string needle )

例子:

<?php
$str="AAA|BBB|CCC";
echo strrchr($str, "|");
?>

运行,结果输出:

|CCC

与 substr() 函数配合使用可以达成 获取以此字符串最后出现为止往后的所有内容 这个需求:

<?php
$str="AAA|BBB|CCC";
echo substr(strrchr($str, "|"), 1);
?>

参考文章:https://www.cnblogs.com/puyaoyao/p/3750023.html