php字符位置
A. php 获取某字符串时,字符最后出现的位置在哪里
各函数情况如下:
1、strstr(string,string) = strchr(,) //从前面第一次出现某个字符串的地方截取到最后
2、strrchr(string,string) //从某个字符串从最后出现的位置截取到结尾
3、strpos(string,string[,int]) //某个字符串第一次出现的位置
4、strrpos(string,string) //某个字符串最后一次出现的位置
5、substr(string,int[,int]) //从指定位置开始截取字符串,可以指定截取的长度。
6、strlen(string) //获取字符串的长度
B. 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';
应该能用吧
C. PHP如何获取字符串中第一次出现中文字符的位置
$a='abcd12中456文';
//获取到“中”字的位置
preg_match('/中/',$a,$matches,PREG_OFFSET_CAPTURE);
print_r($matches[0][1]);
echo" ";
//获取“中456”这几个字(注意只支持utf8编码其他编码请转utf8再匹配)
preg_match('/[x{4e00}-x{9fa5}]d{3}(?=[x{4e00}-x{9fa5}])/u',$a,$matches);
print_r($matches[0]);
D. php 获取字符串某字符的位置!
有以下几种方法:
stripos() 返回字符串在另一字符串中第一次出现的位置(大小写不敏感)
stristr() 查找字符串在另一字符串中第一次出现的位置(大小写不敏感)
strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感)
strrchr() 查找字符串在另一个字符串中最后一次出现的位置。
strripos() 查找字符串在另一字符串中最后出现的位置(对大小写不敏感)
strrpos() 查找字符串在另一字符串中最后出现的位置(对大小写敏感)
(4)php字符位置扩展阅读:
PHP常用函数:
strtoupper()函数把字符串转换为大写
strtolower()函数把字符串转换为小写
strtok()函数把字符串分割为更小的字符串
strstr()函数搜索一个字符串在另一个字符串中的第一次出现
strspn()函数返回在字符串中包含的特定字符的数目
strrpos()函数查找字符串在另一个字符串中最后一次出现的位置
strripos()函数查找字符串在另一个字符串中最后一次出现的位置
E. PHP中找字符串位置
<?php
$str = "我爱我母亲,我爱我父亲";
$find = "我爱";
$findLen = strlen($find);
$tmp = stripos($str, $find);
echo '第一个"我爱"的位置'.$tmp.'<br />';
$tmp += $findLen;
$i = stripos($str, $find, $tmp);
echo '第二个"我爱"的位置'.$i.'<br />';
?>
运行结果:
第一个"我爱"的位置0
第二个"我爱"的位置12
以为一个中文占两个字符,所以第二个“我爱”的位置是12.
F. php 如何将一串字符插入到另一串字符串的指定位置
以下是一个参考函数,
参数$str为,原始字符串,例如123456。
参数$i为,要插入的位置。
参数$substr为,要插入的字符串,例如hello。
返回值为最后结果,例如12345hello6
functionstr_insert($str,$i,$substr)
{
for($j=0;$j<$i;$j++){
$startstr.=$str[$j];
}
for($j=$i;$j<strlen($str);$j++){
$laststr.=$str[$j];
}
$str=($startstr.$substr.$laststr);
return$str;
}
G. php如何判断一个字符在字符串中最后出现的位置
在 php 里,你可以使用 strrpos 来得出指定字符在字符串中最后出现的位置,其函数的详细说明如下(资料源于php手册):
strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
说明:
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
返回字符串 haystack 中 needle 最后一次出现的数字位置。注意 PHP4 中,needle 只能为单个字符。如果 needle 被指定为一个字符串,那么将仅使用第一个字符。
补充:如果对字符不区分大小写,你可以使用 strripos 函数,这个函数 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)。