您好,登錄后才能下訂單哦!
這篇文章主要介紹“php實現正則替換內容的方法”,在日常操作中,相信很多人在php實現正則替換內容的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php實現正則替換內容的方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
php正則替換內容的方法:1、用preg_replace(),可執行正則表達式的搜索和替換,語法“preg_filter (正則式,替換值,數據)”;2、用preg_filter(),語法“preg_filter(正則式,替換值,數據)”。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
在php中,可以使用下面兩個函數來實現正則替換內容
preg_replace():執行一個正則表達式的搜索和替換
preg_filter():執行一個正則表達式的搜索和替換
1、使用preg_replace()函數
preg_replace() 函數可以執行正則表達式的搜索和替換,是一個強大的字符串替換處理函數。語法格式:
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
搜索 subject 中匹配 pattern 的部分, 以 replacement 進行替換。
參數說明:
$pattern: 要搜索的模式,可以是字符串或一個字符串數組。
$replacement: 用于替換的字符串或字符串數組。
$subject: 要搜索替換的目標字符串或字符串數組。
$limit: 可選,對于每個模式用于每個 subject 字符串的最大可替換次數。 默認是-1(無限制)。
$count: 可選,為替換執行的次數。
返回值
如果 subject 是一個數組, preg_replace() 返回一個數組, 其他情況下返回一個字符串。
如果匹配被查找到,替換后的 subject 被返回,其他情況下 返回沒有改變的 subject。如果發生錯誤,返回 NULL。
示例1:將 hello 替換為 phpcn
<?php $string = 'hello 123, 456'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = 'phpcn ${2},$3'; echo preg_replace($pattern, $replacement, $string); ?>
示例2:刪除空格字符
<?php header('content-type:text/html;charset=utf-8'); $str = '歡 迎 來 到 p h p 中 文 網'; $str = preg_replace('/\s+/', '', $str); // 將會改變為'歡迎來到億速云' echo $str; ?>
2、使用preg_filter()函數
preg_filter() 函數也用于執行一個正則表達式的搜索和替換,等價于preg_replace() 函數;不同的是 preg_filter() 函數只返回匹配成功的結果,而 preg_replace() 返回所有結果,不管是否匹配成功。
示例:比較preg_filter() 和preg_replace()
<?php header('content-type:text/html;charset=utf-8'); $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); $pattern = array('/\d/', '/[a-z]/', '/[1a]/'); $replace = array('A:$0', 'B:$0', 'C:$0'); echo "preg_filter 返回值:"; var_dump(preg_filter($pattern, $replace, $subject)); echo "preg_replace 返回值:"; var_dump(preg_replace($pattern, $replace, $subject)); ?>
到此,關于“php實現正則替換內容的方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。