您好,登錄后才能下訂單哦!
本篇內容主要講解“php正則函數如何實現匹配替換”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php正則函數如何實現匹配替換”吧!
php正則函數實現匹配替換的方法:1、創建一個PHP示例文件;2、創建正則表達式;3、通過preg_replace函數執行正則表達式匹配與替換即可。
本文操作環境:windows7系統、PHP7.1版、DELL G3電腦
php 正則函數怎么實現匹配替換?
php正則表達式的匹配與替換
只介紹兩個與Perl兼容的正則表達式函數:
1.preg_match_all 函數執行正則表達式匹配與搜索;
2.preg_replace 函數執行正則表達式匹配與替換。
示例代碼:
<?php // 正則表達式,匹配日期格式 $pattern = "/(\d{2})\/(\d{2})\/(\d{4})/"; $text = "今年國慶節放假日期是10/01/2020到10/07/2020共7天, 10/08/2020開始上班了。"; /* * 1.正則表達式的模式匹配與替換 * * $\{1}是正則表達式 $patern 的第一個“()”括號; * $\{1} 等價于 \\1 ,但最好用前一種,因為后一種不便于字符串之間分隔; */ echo preg_replace($pattern, "\${3}-\${1}-\${2}", $text); echo "<hr><pre>"; /* * 2.正則表達式的匹配與搜索 */ if(preg_match_all($pattern, $text, $matches, PREG_SET_ORDER)){ print_r($matches); } echo "</pre><hr>"; echo "<br><b style='color:#000080'>匹配到".count($matches)."處字符串。</b>"; echo "<br><b>分別是:</b>"; foreach($matches as $value){ echo "<br>".$value[0]; }
執行后的效果:
<?php /* * 在使用 preg_replace()函數時,有一個專門為它提供的模式修正符“e”(PHP 7已經棄用), * 也只有preg_replace()函數使用此修正符。 * 在PHP 7中,preg_replace()函數不再支持“e”,需要使用preg_replace_callback()函數來代替。 */ //$pattern = "/(<\/?)(\w+)([^>]*>)/e"; $pattern = "/(<\/?)(\w+)([^>]*>)/"; $text = "這個文本中有<b>粗體</b>和<u>帶有下劃線</u>以下<i>斜體</i>還 有<font color='red' size='8'>帶有顏色和字體大小</font>的標記。"; //echo preg_replace($pattern, "'\\1' . strtoupper('\\2') . '\\3'", $text); echo preg_replace_callback($pattern, function($r){ return $r[1].strtoupper($r[2]).$r[3]; }, $text);
執行后的效果:
到此,相信大家對“php正則函數如何實現匹配替換”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。