最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

PHP正則表達(dá)式核心技術(shù)完全詳解 第4節(jié) php正則查找匹配處理函數(shù)使用心得與技巧

2020-10-02 19:14 作者:極客小俊GeekerJun  | 我要投稿

? ?極客小俊

?一個專注于web技術(shù)的80后

你不用拼過聰明人,你只需要拼過那些懶人 你就一定會超越大部分人!


php中兼容Perl的正則表達(dá)式處理函數(shù)

在我們說php系統(tǒng)自帶的正則處理函數(shù)之前,我們先要回憶一下在PHP中正則表達(dá)式的組成元素有哪些? 如下:

  1. 定界符號

  2. 原子

  3. 元字符、量詞

  4. 模式修正符

例如:一個匹配URL的正則表達(dá)式如下

?$url="/(https?|ftps?):\/\/(www|mail|news)\.([^\.\/]+)\.(com|org|net)/i";

應(yīng)用如下案例:

?$pattern="/(https?|ftps?):\/\/(www|mail|news)\.([^\.\/]+)\.(com|org|net)/i";
?$string='http://www.baidu.com';
?preg_match($pattern, $string,$arr);
?show($arr);

PHP中正則表達(dá)式與PHP正則處理函數(shù)結(jié)合使用 在PHP中正則表達(dá)式不能獨立使用、它只是一種用來定義字符串的規(guī)則模式、所以必須在、 相應(yīng)的正則表達(dá)式函數(shù)中應(yīng)用、才能實現(xiàn)相應(yīng)的功能! 例如 匹配、分割、查找、替換 所以有了正則,再加上PHP正則處理函數(shù)來使用這個正則表達(dá)式,才能對字符串進行 分割、匹配、查找及替換等工作。

把一個正則表達(dá)式用在分割的函數(shù)中, 則使用這個正則表達(dá)式對字符串進行分割 把一個正則表達(dá)式用在匹配的函數(shù)中, 則使用這個正則表達(dá)式對字符串進行匹配 把一個正則表達(dá)式用在替換的函數(shù)中, 則使用這個正則表達(dá)式對字符串進行替換 把一個正則表達(dá)式用在查找的函數(shù)中, 則使用這個正則表達(dá)式對字符串進行查找

小提示: 能使用字符串處理函數(shù)完成的功能,就不要使用正則表達(dá)式處理函數(shù) 性能問題

PHP查找匹配正則函數(shù):

preg_match(參數(shù)..) 作用: 在第一次匹配后將會停止搜索、返回正則的匹配次數(shù) ,如果匹配返回1,不匹配返回0 發(fā)生錯誤返回false! 參數(shù)列表如下: 參數(shù)1:正則表達(dá)式 參數(shù)2:字符串 參數(shù)3:自定義存放結(jié)果數(shù)組 參數(shù)4:獲取目標(biāo)字符串的開始下標(biāo)值常量, 參數(shù)5:搜索目標(biāo)字符的開始位置 案例如下:

?$string='www.baidu.com';
?$pattern="/baidu/i";
?preg_match($pattern, $string,$arr);
?show($arr);

preg_match_all(參數(shù)..) 作用:在匹配找到第一個后, 繼續(xù)從這個匹配位置搜索 直到把所有符合正則的都匹配出來 然后返回完整匹配數(shù)量次數(shù),如果返回0次 說明沒有匹配,發(fā)生錯誤返回false.! 參數(shù)列表如下: 參數(shù)1:正則表達(dá)式 參數(shù)2:字符串 參數(shù)3:自定義存放結(jié)果數(shù)組 參數(shù)4:以什么方式排列結(jié)果常量: PREG_SET_ORDER、 參數(shù)5:搜索目標(biāo)字符的開始位置 案例如下:

?$string='www.baidu.com www.sina.com www.bilibili.com';;
?$pattern="/www\..+?(\.com)/";
?preg_match_all($pattern, $string,$arr);
?show($arr);

查找匹配小案例

例1:查找字符串中出所有的URL 并且把所有URL地址加上紅顏色后打印輸出字符串。 如下

? $string='北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)';
?
?//處理之前
?echo nl2br($string);
?echo '<hr>';
?
?$pattern="/(?:http[s]?|ftp?):\/\/(?:www|mail)\.[^\.\/]*\.(?:com|org|net)/i";
?preg_match_all($pattern, $string,$arr);
?$num=0;
?foreach ($arr[0] as $key=>$val){
? ? ?$string=str_replace($val, '<span style="color:red;">'.$val.'</span>', $string,$count);
? ? ?$num+=$count;
?}
?//處理之后
?echo nl2br($string).'<br>替換的次數(shù)是'.$num.'次';

例2:查找字符串中出所有的URL 并且把所有URL地址替換成超級鏈接然后打印輸出字符串, 如下:

?$string='北京市朝陽區(qū)http://www.sina.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.baidu.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.163.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.wangm.com中國區(qū)PHP開發(fā)
? ? ? ? ? ? ?北京市朝陽區(qū)http://www.albb.com中國區(qū)PHP開發(fā)';
?
?//處理之前
?echo nl2br($string);
?echo '<hr>';
?
?
?function setURL($string){
? ? ?$pattern="/(?:http[s]?|ftp?):\/\/(?:www|mail)\.[^\.\/]*\.(?:com|org|net)/i";
? ? ?preg_match_all($pattern, $string,$arr);
? ? ?
? ? ?foreach($arr[0] as $k=>$v){
? ? ? ? ?$replace='<a href="'.$v.'">'.$v.'</a>';
? ? ? ? ?$string=str_replace($v, $replace, $string);
? ? ?}
? ? ?return nl2br($string);
?}
?
?echo '<hr>';
?//處理之后
?echo setURL($string);

在這里插入圖片描述





如果喜歡話請 點贊 ?投幣 ?收藏 一鍵三連 ?

大家的支持就是我堅持下去的動力!

不要忘了?? 關(guān)注 ??哦!





PHP正則表達(dá)式核心技術(shù)完全詳解 第4節(jié) php正則查找匹配處理函數(shù)使用心得與技巧的評論 (共 條)

分享到微博請遵守國家法律
乾安县| 新乡县| 潜江市| 泾川县| 长春市| 绥江县| 额济纳旗| 鄂温| 惠东县| 东光县| 郓城县| 仁化县| 巴彦淖尔市| 同心县| 安吉县| 儋州市| 都安| 柳林县| 永修县| 新疆| 宝丰县| 高清| 凤山市| 泰和县| 乡城县| 民乐县| 泽州县| 南澳县| 瑞安市| 黎城县| 清流县| 揭阳市| 胶南市| 疏勒县| 伽师县| 正安县| 东兰县| 宁津县| 博爱县| 昌宁县| 潞城市|