php正則字元串替換
⑴ php正則替換怎麼寫
$str = 'fsda[123d]dfa[1[3]2]sdf';
$str = preg_replace('/\[(.*?)\]/','($1)',$str);
echo $str;
/\[(.*?)\]/ 這個是正則表達式。
$0是整個匹配出來的字元串,$1是第一個圓括弧裡面匹配出來的,所以我們只取圓括弧裡面匹配到的字元串,再在兩邊加上圓括弧。
不過這個不能對付有嵌套的方括弧。
⑵ php正則表達怎麼把一個字元串中的所有空格都轉化為下劃線
使用正則表達式進行替換的函數是preg_replace,此函數使用的一般格式是:
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
典型的使用情況是帶三個參數,第一個為正則表達式表示的查找內容,第二個參數為替換後的內容,對三個參數是字元串。
你的問題把所有空格轉換為下劃線,寫出這個語句有幾個細節,如果是只替換空格(不包含製表、回車等其它空白),而且一個空格替換為一個下劃線、兩個空格替換為兩個下劃線,那麼語句如下(假設字元串變數是$str):
$str=preg_replace('/ /','_',$str);
上面語句中的'/ /'為正則表達式,/為定界符(可以用其它),中間的一個空格表示查找的內容就是一個空格。
如果多個空格替換為一個_,那麼需要在空格後面使用一個+,表示匹配1個或者多個空格,語句是:
$str=preg_replace('/ +/','_',$str);
如果是對各類空白字元(空格、製表、回車等)進行替換,那麼可以使用\s代替空格,語句是:
$str=preg_replace('/\s+/','_',$str);
上面使用了+表示多個空白(例如兩個空格、或者一個空格與回車)替換為一個下劃線符號。
⑶ PHP正則表達式如何替換像這樣的案例的
這個用正則表達式替換是比較簡單的,因為有分隔符/,所以把分隔符後面的都替換掉就行了.
<?php
$str="龍門飛甲/龍門飛甲電視劇版";
$regex="~/.*?$~";
echo preg_replace($regex,"",$str);
?>
⑷ php正則如何匹配替換這樣的代碼
下面是代碼,不懂的加我的QQ245065587
<?php
$str = ',1。,2。,3。'; //要進行正則替換的字元串
$regular = "/,(.*)。,(.*)。,(.*)。/i"; //利用正則表達式反向引用取得相關數
$replacecode = "<a href=\"xx.com/$1\">$1</a> <a href=\"xx.com/$2\">$2</a> <a href=\"xx.com/$3\">$3</a>"; //返回的代碼
echo preg_replace($regular, $replacecode, $str); //處理替換,並輸出
?>
⑸ php中 正則表達式替換問題
查找
[^dw]
替換成