麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Regex > 正文

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

2020-03-16 21:09:38
字體:
來源:轉載
供稿:網友
今天在寫采集程序的時候,使用到了preg_match,但是有幾個頁面始終采集不下來。反復看了N遍的正則,沒有發現有問題。于是開始懷疑preg_match是否對匹配的字符串有長度限制
 
 
但是官方的文檔里面沒有說明這一點。 

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

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

pcre.backtrack_limit=-1 

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

項目中,用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'); , 這樣就比較穩妥妥嘎。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品视频 | 在线播放视频一区二区 | 一级毛片真人免费播放视频 | 一级做a爰性色毛片免费 | 在线播放免费人成毛片乱码 | 国产一国产精品一级毛片 | 欧美日韩高清在线观看 | 黄色7777| 中文字幕亚洲一区二区三区 | 极品大长腿啪啪高潮露脸 | 久久精品美乳 | 精品国产一区二区三区四区阿崩 | 亚洲乱搞 | 一级电影免费看 | 免费永久看羞羞片网站入口 | chinesexxxx刘婷hd 国产资源视频在线观看 | 91免费视频版 | 国产精品视频导航 | japanesexxxxxxxhd| 成人国产精品一区二区毛片在线 | 免费a视频在线观看 | 成人一级视频 | 日韩视频一区二区三区四区 | 天天看天天摸天天操 | 久久国产精品网 | 91精品久久久久久久久 | 成人毛片在线免费看 | 久久精品日韩一区 | 国产羞羞视频在线免费观看 | 久久精品一区二区三区国产主播 | 日本高清黄色片 | 国产成人综合在线观看 | av免费在线观看av | 91在线视频播放 | 成人一级毛片 | 视频一区 日韩 | 成人黄色网战 | 人成免费网站 | 欧美一级片一区 | 中文字幕在线观看网址 | 羞羞网站在线观看入口免费 |