濮阳杆衣贸易有限公司

主頁 > 知識庫 > 解決preg_match匹配過多字符長度的限制的思路分析

解決preg_match匹配過多字符長度的限制的思路分析

熱門標簽:自己做的電銷機器人 惠安地圖標注 山東外呼系統(tǒng)聯(lián)系方式 淄博市張店區(qū)地圖標注 地圖標注店鋪地圖標注酒店 遼寧秒客來電話機器人 上海銷售電銷機器人軟件 浙江營銷外呼系統(tǒng)有哪些 哈爾濱公司外呼系統(tǒng)代理
但是官方的文檔里面沒有說明這一點。

于是開始測試:將要匹配的字串不斷縮短,直到縮為原來1/5的時候可以正常匹配了,所以更加確定了。

到google里一搜,終于找到了解決方案:在php.ini中加入(隨便放到哪里,我是直接放第一行的)

pcre.backtrack_limit=-1

再次使用preg_match函數(shù)測試一下,大概1300多行上萬個字符的字符串也能夠匹配了。

項目中,用preg_match正則提取目標內(nèi)容,死活有問題,代碼測得死去活來。

后來發(fā)現(xiàn)“pcre.backtrack_limit ”的值默認只設了100000。

解決辦法:ini_set(‘pcre.backtrack_limit', 999999999);

注:這個參數(shù)在php 5.2.0版本之后可用。

另外說說關于:pcre.recursion_limit

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

也可以通過修改配置來限制:ini_set(‘pcre.recursion_limit', 99999);

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

標簽:長沙 重慶 綿陽 銅川 宣城 無錫 西安 泰州

巨人網(wǎng)絡通訊聲明:本文標題《解決preg_match匹配過多字符長度的限制的思路分析》,本文關鍵詞  解決,preg,match,匹配,過多,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決preg_match匹配過多字符長度的限制的思路分析》相關的同類信息!
  • 本頁收集關于解決preg_match匹配過多字符長度的限制的思路分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    塘沽区| 万山特区| 望城县| 昌吉市| 西乡县| 龙川县| 揭东县| 平顺县| 天等县| 曲阜市| 土默特左旗| 怀仁县| 台北市| 卢湾区| 澄江县| 华安县| 平罗县| 石楼县| 文登市| 邮箱| 鄂托克旗| 宜黄县| 剑阁县| 唐海县| 漳州市| 文成县| 中超| 英吉沙县| 玛沁县| 石柱| 公安县| 连云港市| 桐柏县| 宁夏| 鲁甸县| 泉州市| 奉节县| 河曲县| 尉氏县| 大渡口区| 萨嘎县|