首頁 php教程 php手册 PHP中的正则表达式函数preg_

PHP中的正则表达式函数preg_

Jun 13, 2016 am 10:58 AM
match php 函數 匹配 正規則 表達式

preg_match();     //用于正则表达式的匹配,且只匹配一次

 

preg_match_all();//用于正则表达式的匹配,会对所有符合规则的都进行匹配

 

preg_replace();   //正则表达式替换函数

preg_splite();     //正则分割函数

 

 

preg_match ( mode, string subject , arraymatches )

 

其中mode是正则规则,string subject是要匹配的字符串,arraymatches是匹配的结果数组

 

例子:

 

[php]  

$mode='/[89]/';//匹配8或者9  

$str="djfkdsjk10903990sjdfdk";  

preg_match($mode,$str,$arr);  

print_r($arr);  

?>  

 

输出:

[html]  

Array ( [0] => 9 )   

 

preg_match_all ( mode, string subject , arraymatches )

该函数和preg_match_all()函数的功能类似,不过该函数会匹配所有符合要求的内容,并将之存放到字符串中。

 

 

例子:

 

[php]  

$mode='/[89]/';//匹配8或者9  

$str="dj33f44k88dsjk10903990sjdfdk";  

preg_match_all($mode,$str,$arr);  

print_r($arr);  

?>  

输出:

 

[html] 

Array ( [0] => Array ( [0] => 8 [1] => 8 [2] => 9 [3] => 9 [4] => 9 ) )   

 

preg_replace ( mixed pattern, mixed replacement,mixed subject [, int limit] )

通过正则表达式来替换相关内容,类似之前学过的str_replace字符串替换,但功能要强于它。

 

特点:1、替换内容可以是一个正则也可以是数组正则

 

          2、替换内容可以通过修正符e来解决替换执行内容

 

用途:替换一些比较复杂的内容上,也可以用于内容的转换上

例子1——数组正则:

 

[php]  

$mode=array('/{title}/','/{author}/','/{url}/');  

$re=array("code cloud","qianshou","http://codecloud.duapp.com/");  

$str="标题:{title}
作者:{author}
地址:{url}";  

echo "


";  

if($tag=preg_replace($mode,$re,$str)){  

 echo $tag;  

}else{  

 echo "替换不成功!";  

}  

?>  

 

输出:

 

[html]  

标题:code cloud  

作者:qianshou  

地址:http://codecloud.duapp.com/  

 

例子2——ubb代码的替换:

[php]  

$str="欢迎来到我的博客:[url]http://blog.csdn.net/qsyzb[/url]";  

$re=preg_replace('/\[url\](.*)\[\/url\]/',"\\1",$str);  

echo "


".$re."
";  

?>  

 

输出:

[html 


欢迎来到我的博客:http://blog.csdn.net/qsyzb
 

 

preg_split ( string pattern, string subject [, intlimit [, int flags]] )

通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode只能按照一种方式切割有局限性。

 

例子:

 

[php]  

$mode='/[,.#]/';  

$str='one,two.three#four';  

if($tag=preg_split($mode,$str)){  

 print_r($tag);  

}else{  

 echo "替换不成功!";  

}  

?>  

 

输出:

[html]  

Array  

(  

    [0] => one  

    [1] => two  

    [2] => three  

    [3] => four  

)  

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

See all articles