㈠ 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';
應該能用吧