首先说说使用php默认语法来操作这些
1.1、
首先使用strpos找出指定字符的位置,+3是要把指定字符包含进去,uft是3个字符一个中文字,然后使用substr进行字符串截取。
<?php
header("Content-type: text/html; charset=utf-8");
$str='《BadCat读书网》这些都是我不想要的';
echo substr($str,0,strpos($str, '》')+3);
//输出结果《BadCat读书网》
?>
1.2、
使用explode拆分字符串为数组,输出数组,
$str='《BadCat读书网》还是不想要的';
$array=explode('》', $str);
echo $array[0];
//《BadCat读书网
2.1、截取指定字符之后的内容
$str='《BadCat读书网》这次这些是想要的';
echo substr($str,strpos($str,'》')+1);
//输出 这次这些是想要的
2.2、使用strrchr函数查找出最后一个出现的位置,然后使用trim函数清除指定字符之前的内容
$str='《BadCat读书网》这次这些是想要的';
echo trim(strrchr($str, '》'),'》');
//输出 这次这些是想要的
3.1、如果知道斜杠的个数可以这样写
$str='123/456/789/abc';
$array=explode('/', $str);
echo $array[3];
//输出 abc
3.2、再或者不知道斜杠的数量,如果想要第二个斜杠和第三个斜杠中间的内容呢?参考网上的一段代码
/**
* 按符号截取字符串的指定部分
* @param string $str 需要截取的字符串
* @param string $sign 需要截取的符号
* @param int $number 如是正数以0为起点从左向右截 负数则从右向左截
* @return string 返回截取的内容
*/
function cut_str($str,$sign,$number){
$array=explode($sign, $str);
$length=count($array);
if($number<0){
$new_array=array_reverse($array);
$abs_number=abs($number);
if($abs_number>$length){
return 'error';
}else{
return $new_array[$abs_number-1];
}
}else{
if($number>=$length){
return 'error';
}else{
return $array[$number];
}
}
}
$str='123/456/789/abc';
echo cut_str($str,'/',0); //输出 123
echo cut_str($str,'/',2); //输出 789
echo cut_str($str,'/',-1);//输出 abc
echo cut_str($str,'/',-3);//输出 456