‘壹’ 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;
}
?>
‘贰’ 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如何替换字符串中的指定字符
用数组修改例如 string a="/" "a[0]={"/‘“}
‘肆’ php如何替换字符串指定第一处字符
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。
‘伍’ 如何用php替换特殊字符及之后的字符串。例如$url中间有空格,我想去掉空格及空格后面的内容
任务:删除字符串空格及其之后的所有内容
方法一:用正则表达式,正则模式为/[\s+].*$/,示例语句:
echo preg_replace('/[\s].*$/', '', $url);
方法二,使用substr,示例语句:
echo substr($url, 0, strpos($url,' '));
‘陆’ php如何全局替换如下规则的字符串
按照你的要求,全局替换字符串的php程序如下
<?php
$str='content233"';
$regex='/(contentd+)"/';
$result=preg_replace($regex,'$1.html"',$str);
print_r($result);
?>
‘柒’ 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));