程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 模式修正符

模式修正符

編輯:PHP綜合

模式修正符是為正則表達式增強和補充的一個功能,使用在正則表達式之外,是這種形式:/正則表達式/U

i: 正則內容在匹配的時候不區分大小寫

<?php
header("content-type: text/html;charset=utf-8");
$mode="/www.bianceng.cn/i"; //i修飾符的意思是不區分大小寫,匹配成功
$string="WWW.BIANCENG.CN";
/*區分大小寫,匹配失敗
$mode="/www.bianceng.cn/";
$string="WWW.BIANCENG.CN";
*/
if(preg_match($mode,$string)){
echo "匹配成功!";
}else{
echo "不匹配!";
}
?>

m: 在匹配首內容或者尾內容時采用多行識別匹配

<?php
header("content-type: text/html;charset=utf-8");
//使用m開啟多行識別匹配,\n前的內容看作一行,匹配成功
$mode="/php$/m";
$string="This is php\n,very good";
/**沒有使用m開啟多行識別匹配
***把$string中的內容看作一個字符串,與末尾匹配,匹配失敗
$mode="/php$/";
$string="This is php\n,very good";
*/
if(preg_match($mode,$string)){
echo "匹配成功!";
}else{
echo "不匹配!";
}
?>

x:忽略正則中的空白

<?php
header("content-type: text/html;charset=utf-8");
//x忽略正則中的空白,匹配成功
$mode="/ph p/x";
$string="php";
$string="This is php\n,very good";
if(preg_match($mode,$string)){
echo "匹配成功!";
}else{
echo "不匹配!";
}
?>

A: 強制從頭開始匹配

<?php
header("content-type: text/html;charset=utf-8");
//A強制從頭匹配,匹配失敗
$mode="/php/A";
$string="This is php";
if(preg_match($mode,$string)){
echo "匹配成功!";
}else{
echo "不匹配!";
}
?>

U: 禁止貪婪匹配,只跟蹤到最近的一個匹配符並結束

貪婪匹配:匹配到最後一個匹配符:

例:

<?php
header("content-type: text/html;charset=utf-8");
//貪婪和分組獲取的案例,ubb
//將[b]php5[/b]換成<strong>php5</strong>
//用括號分組,(.*)就是\1
$mode = '/\[b\](.*)\[\/b\]/';
$replace = '<strong>\1</strong>';
$string = 'This is a [b]php5[/b]. This is a [b]php4[/b]';
echo preg_replace($mode,$replace,$string);
?>

輸出:This is a php5[/b]. This is a [b]php4

使用U禁止貪婪匹配,讓[b]與最近的[/b]匹配:

<?php
header("content-type: text/html;charset=utf-8");
//將[b]php5[/b]換成<strong>php5</strong>
//用括號分3組,(.*)就是\2
$mode = '/(\[b\])(.*)(\[\/b\])/U';
$replace = '<strong>\2</strong>';
$string = 'This is a [b]php5[/b]. This is a [b]php4[/b]';
echo preg_replace($mode,$replace,$string);
?>

輸出:

This is a php5. This is a php4

URL: http://www.bianceng.cn/webkf/PHP/201701/50536.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved