国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP preg_match正則表達式的使用

2024-09-04 11:47:35
字體:
來源:轉載
供稿:網友

在php中preg_match()函數是用來執行正則表達式的一個常用的函數,下面我來給大家詳細介紹preg_match使用方法.

函數用法:int preg_match_all ( string pattern, string subject, array matches [, int flags] )

例1,代碼如下:

  1. <?php 
  2. preg_match_all ("|<[^>]+>(.*)</[^>]+>|U","<b>example: </b><div align=left>this is a test</div>",$out, PREG_SET_ORDER); 
  3. print $out[0][0].", ".$out[0][1]."n"
  4. print $out[1][0].", ".$out[1][1]."n"
  5. ?> 
  6. //本例將輸出:  
  7. <b>example: </b>, example: 
  8. <div align=left>this is a test</div>, this is a test 

例2,URL 中取出域名,代碼如下:

  1. <?php 
  2. // 從 URL 中取得主機名 
  3. preg_match("/^(http://)?([^/]+)/i""http://www.survivalescaperooms.com/index.html"$matches); 
  4. $host = $matches[2]; 
  5. // 從主機名中取得后面兩段 
  6. preg_match("/[^./]+.[^./]+$/"$host$matches); 
  7. echo "domain name is: {$matches[0]}n"
  8. ?>  
  9. //本例將輸出: 
  10. domain name is: Vevb.com 

preg_match字符串長度問題

preg_match正則提取目標內容,死活有問題,代碼測得死去活來.

后來懷疑PHP 的preg_match有字符串長度限制,果然,發現“pcre.backtrack_limit ”的值默認只設了100000.

解決辦法,代碼如下:

ini_set('pcre.backtrack_limit',999999999);

注:這個參數在php 5.2.0版本之后可用.

另外說說關于:pcre.recursion_limit

pcre.recursion_limit是PCRE的遞歸限制,這個項如果設很大的值,會消耗所有進程的可用堆棧,最后導致PHP崩潰.

也可以通過修改配置來限制,代碼如下:

ini_set('pcre.recursion_limit', 99999);

實際項目應用中,最好也對內存進行限定設置:ini_set('memory_limit','64M');,這樣就比較穩妥妥嘎.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永顺县| 伊金霍洛旗| 昂仁县| 凤山县| 县级市| 比如县| 武安市| 卓尼县| 林西县| 天门市| 金寨县| 新泰市| 福安市| 文登市| 德化县| 上虞市| 满洲里市| 鸡东县| 改则县| 准格尔旗| 澄城县| 厦门市| 汨罗市| 康乐县| 灵丘县| 永定县| 明光市| 北流市| 东兴市| 张家界市| 蓝山县| 吴江市| 东源县| 泉州市| 山东| 柘荣县| 邵东县| 宜州市| 靖边县| 天镇县| 平谷区|