PHP截取指定字符前面和后面和中间的内容

使用函数 strripos() : 获取一个字符串在字符串中第一次出现的位置。

中文字符串使用 mb_strripos()。

$str = '666-888';
$res = substr($str, strripos($str, "-") + 1);
echo $res; // 输出 888,截取-之后的内容
$res = substr($str, 0, strrpos($str, "-"));
echo $res; // 输出 666,截取-之前的内容

如需截取字符第一次出现之前或之后的内容,请参考此文章:https://www.95its.com/jianzhan/514.html

截取某两字符中间的内容

$str = '666-888';
echo getSubstr($str,'666','888');
function getSubstr($str, $leftStr, $rightStr){
$left = strpos($str, $leftStr);
$right = strpos($str, $rightStr,$left);
if($left < 0) return '';
if($right>0){
return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
}else{
return substr($str, $left + strlen($leftStr));
} }

正则:

$str = '666-888';
preg_match("/666(.*?)888/is",$str,$res);
echo $res[1]; // 输出 - ,截取666到888之间的内容



© 版权声明
THE END