php指定字符串替换
❶ 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字符串替换的几个函数
1、只对needle使用数组。
示例:str_replace(array('m','i'),'n',"my
name
is
jim!");返回:ny
nane
ns
jnn!
可以看出,函数顺序性的对数组中每个字符串进行替换,并返回替换后的字符串。
2、只对new_needle使用数组。
示例:str_replace('m',array('n','z'),"my
name
is
jim!\n")返回:Arrayy
naArraye
is
jiArray!
该替换比较有意思,如果只对第二个参数使用数组则函数将其作为字符串Array进行使用,将所有的needle替换为了数组。
3、只对haystack使用数组。
示例:str_replace("m","n",array("my
name
is
jim!","the
game
is
over!"))该语句执行结果返回一个数组,即分别为传入的两个字符串替换后的结果。
如果输出数组内容会看到:ny
nane
is
jin!
the
gane
is
over!
4、对needle和new_needle都使用数组。
示例:str_replace(array("m","i"),array("n","z"),"my
name
is
jim!")返回:ny
nane
zs
jzn!
查看执行结果可以发现,如果前两个参数都使用数组则函数把数组各个对象项字符串进行了替换,及needle的第一项替换为new_needle的第一项。以此类推。
如果needle数组比new_deedle长,例如:str_replace(array("m","i","s"),array("n","z"),"my
name
is
jim!");返回:ny
nane
z
jzn!可见,对于needle数组多出来的字符串被替换为了空串。
如果new_needle数组比needle长,例如:str_replace(array("m","i"),array("n","z","x"),"my
name
is
jim!")返回ny
nane
zs
jzn!可见new_needle多余的项被忽略。
5、三个参数都使用数组。
例如:str_replace(array("m","i"),array("n","z"),array("my
name
is
jim!","the
game
is
over"))返回的数组内容:ny
nane
zs
jzn!the
gane
zs
over
这个比较好理解,对两个字符串分别执行替换。
❸ PHP将特定的字符串替换为空值
子符串替换:
$id = str_replace(".html", "", $id);
或者正则表达式子符串替换:
$id = preg_replace("/\.html/", "", $id);
其实,如果你确信要处理的字符串格式是“string-数字.html”,其中string由非“-”和“.”的常用字符组成,那下面的一条语句就OK了:
$array = preg_split('/[-\.]/', $querystring, -1, PREG_SPLIT_NO_EMPTY);
$array[1]就是你要的数据。
❹ php 替换指定字符串中,两个字符串之间(包括这两个字符串)之间的内容
这类替换最好不好使用正则表达式,因为你搜索的内容的唯一的无需使用正在,而且替换的文本较大正则效率太低。
方法是找到这两个特殊字符串的位置,然后使用substr删除中间部分,例子代码:
$str='....你要处理的字符串.....';
$s1='...开始字符串...';
$s2='...结束字符串...';
$i1=strpos($str,$s1);//开始位置
$i2=strpos($str,$s2);//结束位置
if ($i1!==false && $i2!==false)//找到
$str=substr($str,0,$i1-1) . substr($str,$i2+strlen($s2));
❺ php 字符串查找和替换
使用PHP的正则表达式替换函数,用表达式/(\?|&)ddd=.*?(&|$)/进行替换就可以了。
<?php
$str = 'afda?abc=12&ddd=33&jjj=xx';
$str = preg_replace('/(\?|&)ddd=.*?(&|$)/', '\\1ddd=50\\2', $str);
echo $str;
?>
❻ php如何替换字符串中的指定字符
用数组修改例如 string a="/" "a[0]={"/‘“}
❼ phpstorm 如何批量替换字符串
需要准备的材料分别是:电脑、phpstorm编辑器。
1、首先,打开phpstorm编辑器,新建php文件,例如:index.php,填充问题基础代码。
❽ PHP正则替换,指定字符串之间的字符串
你的第一个需求,是可以知伏满足的
第二个需求,程序无法满足,因为程序不是人,不可能识别到丢失的右中括号在哪里结束
以下是已经运行通过的代码
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<?php
$str="【喜讯】全国——乐享周六【8点到18点】世【界杯裤仔纪念】足球【大】放送胡猛汪";
$str=check($str);
echo$str;
functioncheck($str){
if(strstr($str,'【')&&strstr($str,'】')){
$str=change($str);
$str=check($str);
return$str;
}else{
return$str;
}
}
functionchange($str){
preg_match('/【(.*?)】/',$str,$result);
$last=str_replace($result['0'],'',$str);
return$last;
}
?>