⑴ php替换怎么替换指定位置字符
functionreplace($str,$index,$s){
//参数定义:
//$str 原字符串
//$index要替换的位置(第一个"-"前面的位置为0,最后一个"-"后面的位置等于减号数量)
//$s 要替换的内容
$str=rtrim(rtrim($str,'html'),'.');
$arr=explode('-',$str,14); //如果是前面固定13个减号,可以加一个参数14
if($index>=count($arr)){
$arr[count($arr)-1]=$s;
}elseif($index<0){
$arr[0]=$s;
}else{
$arr[$index]=$s;
}
return(implode('-',$arr).'.html');
}
$string='21--------43-----哈啊.html';
$newStr=replace($string,0,'aaa'); //第1个减号前面的位置替换为aaa
echo$newStr.'<br>';
$newStr=replace($newStr,2,'bbb'); //第2个减号后面的位置替换为bbb
echo$newStr.'<br>';
$newStr=replace($newStr,8,'ccc'); //第8个减号后面的位置替换为ccc
echo$newStr;
注意:原字符串结尾部分不能连续两个"html"或者连续两个"."连着
如果原字符串在替换的时候不加".html"就没有这个限制了,就像这样
functionreplace($str,$index,$s){
//参数定义:
//$str 原字符串
//$index要替换的位置(第一个"-"前面的位置为0,最后一个"-"后面的位置等于减号数量)
//$s 要替换的内容
$arr=explode('-',$str,14); //如果是前面固定13个减号,可以加一个参数14
if($index>=count($arr)){
$arr[count($arr)-1]=$s;
}elseif($index<0){
$arr[0]=$s;
}else{
$arr[$index]=$s;
}
return(implode('-',$arr).'.html');
}
$string='21--------43-----哈啊';
$newStr=replace($string,0,'aaa'); //第1个减号前面的位置替换为aaa
echo$newStr.'.html<br>';
$newStr=replace($newStr,2,'bbb'); //第2个减号后面的位置替换为bbb
echo$newStr.'.html<br>';
$newStr=replace($newStr,8,'ccc'); //第8个减号后面的位置替换为ccc
echo$newStr.'.html';
应该能用吧
⑵ php怎么截取字符后面几个字符
$str1 = substr($str,5)截取后面5个字符。
1:$str1 = substr($str,5);这句是从第5个字符开始截取到最后strlen($str) 这句是获取字符串长度假设你要截取后面3个字符,那就这样写 $str1 = substr($str,(strlen($str)-3))。
2:只要判断字符串1与字符串2之前的一个stripos位置然后再使用substr开始截取就可以了。
3:PHP中的substr() 函数可以实现 substr() 函数返握握裤回字符串的一部分,substr(string,start,length)。
4:string 必需,规定要返回其中一部分的字符串,start 必需,规定在字符串的何处开始,正数 - 在字符串的指定位置开始 负数 - 在段简从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始 length 可选,规定要返回的字符串长度。默认是直到字符串的结尾,正数皮吵 - 从 start 参数所在的位置返回负数 - 从字符串末端返回。