Ⅰ 有關php 正則表達式替換的問題
$str = "哈哈@abc,@中國,@中國china,另一個哈哈@結尾沒有逗號的";
$pattern = "/(@([^,,]+))([,,]?)|(@(.+))$/i"; //匹配以全形逗號或者半形逗號或者是串尾的
$replacement = '<a href="/id/$2">$1</a>$3';
$str = preg_replace($pattern, $replacement, $str);
echo $str;
Ⅱ php 正則表達式匹配一個字元串的多個值 然後逐一替換掉裡面的 不全部替換成一個
舉個例子給你看看是不是你想要的。
有個字元串「abcadeafg」,把其中的三個字母a分別替換成x,y,z:
$pattern=array('/a/','/a/','/a/');
$replacement=array('x','y','z');
$subject='abcadeafg';
$res=preg_replace($pattern,$replacement,$subject,1);
echo$res;//xbcydezfg
Ⅲ PHP正則表達式如何替換掉某字
<?php
$string='倚天屠龍記2019版粵語版';
$pattern='/版$/';
$replacement='';
echopreg_replace($pattern,$replacement,$string);
?>
$pattern='/版$/';正則表達式,匹配最後一個字是版.匹配第一個'版'。'/版/'。匹配所有的版'/版/g'。
$replacement='';用來替換的內容,去掉就是替換為空字元串。
更多需求查看php正則表達式教程網頁鏈接
Ⅳ PHP 字元串替換 正則表達式 preg_match_all 方法
<?php
$a="floor(ceil(TC003*TC003)*price3+floor(20*(TC123+TC101))+(TC213+TC033)*tTC001000+pprice222+tc1)";
$out=preg_replace('/(?:TCd{3}|priced{1})(?!d)/i','1',$a);
echo'<pre>';
print_r($out);
//結果
//floor(ceil(1*1)*1+floor(20*(1+1))+(1+1)*tTC001000+pprice222+tc1)
Ⅳ PHP 隨機 替換字元串問題
這個用
正則表達式
來解決就ok啦,PHP中有有關正則表達式的函數,其中有一個專門用來查找替換的函數:
preg_replace
($regpatern,$replace,$str[,$limit])
功能描述:在字元串
$str中查找匹配類型$repatern,匹配成功用$replace替換掉,最後一個參數是可選的,限制匹配多少次默認為-1,表示替換所有匹配成功的子字元串;
參數:$regpatern為正則表達式,$repalce為要替換成的字元串,$str查找的范圍,$limit為替換的次數;
返回值
:替換後的字元串;
如:
?php
$regpatern='/a/';
$replace="b";
$str="aaadsfsfaaasdf";
echo
preg_replace($regpatern,$replace,$str,4);
?
運行結果為:bbbdsfsfbaasdf
Ⅵ PHP 正則表達式如何替換行末指定字元而不替換行首與行末相同的字元
<?php
$pattern='/DVD$/';
$str="燦爛人生DVD";
$str=preg_replace($pattern,'',$str);
var_mp($str);die;
?>
$匹配末尾的字元
Ⅶ PHP 正則表達式替換字元
$str="{235大吉大利abc}";
$str=preg_replace("/[a-z,A-Z,0-9]/","*",$str);//替換所有字母和數字為*
echo$str;
Ⅷ PHP正則表達式如何替換像這樣的案例的
這個用正則表達式替換是比較簡單的,因為有分隔符/,所以把分隔符後面的都替換掉就行了.
<?php
$str="龍門飛甲/龍門飛甲電視劇版";
$regex="~/.*?$~";
echo preg_replace($regex,"",$str);
?>
Ⅸ php中 正則表達式替換問題
查找
[^dw]
替換成