㈠ 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如何替换字符串中的指定字符
用数组修改例如 string a="/" "a[0]={"/‘“}
㈢ PHP str_replace()如何替换掉某个字符串中某个字符后缀其余不变
function x($arr,$replaceStr,$replaceStr2,$noReplace){
foreach($arr as $k=>$v){
if($v > $noReplace){//$noReplace如果大于数组键名替换,例如为3,则数组前四个不替换
$arr[$v] = str_replace($replaceStr,$replaceStr2,$arr[$k]);
}
}
return $arr;
}
使用:
x([
'http://a.com/a.jpg',
'http://b.com/b.jpg',
'http://c.com/c.jpg'
],'.jpg','',0);
返回:
[
'http://a.com/a',
'http://b.com/b.jpg',
'http://c.com/c.jpg'
]
㈣ 关于PHP如何替换部分字符串的问题
我来回答
<?php
$str = "xxxxabcxxxxxabcxxxxxabc"; //可以任意自定
$spliter = "abc"; //分割字符串,可以任意定。
$addstr = "123"; //要替换的字符串,自定。
$newstr = "";
$str_ary = explode($spliter, $str);
for($i = 0; $i <count($str_ary ); $i++)
{
if ($i <count($str_ary ) -1)
{
if ($newstr <> "" )
$newstr .= $spliter.$str_ary[i];
else
$newstr .= $str_ary[i];
}
else
$newstr .= $addstr.$str_ary[i];
}
echo $newstr ;
?>
㈤ php替换指定位置字符
用str_replace替换每次替换都吧最后一个数增加一次即可
㈥ php怎么将一个是变量的字符串最后一位替换成自己想要的
可以有很多种实现:
1、使用substr方法(或mb_substr)截取至倒数一位,然后拼接自己想要的数据
2、使用$str=preg_replace('#.$#i','要替换的字符',$str);替换
举一反三,自己还可想想其他实现方法。
㈦ PHP 怎么把指定字符替换成想要的字符
请参考我写的代码,如果还有不明白的,加我: <?php $str="<a title='新闻标题' href=' http://www..com/'> 这是一个小小的测试</a>"; //echo htmlspecialchars($str)."<br />"; $preg = "/<a title=\'(.*)\' href=\'(.*)\/\'>/"; preg_match_all($preg,$str,$result); foreach($result[2] as $value){ //global $getSTR; $getSTR=$value; echo str_replace($getSTR,' http://www.net920.cn ',$str).'<br />'; } ?>
㈧ 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替换怎么替换指定位置字符
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';
应该能用吧