激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 正則表達式 - 解決preg_match匹配過多字符長度的限制的思路分析

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

2020-08-04 17:08正則之家 正則表達式

今天在寫采集程序的時候,使用到了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'); , 這樣就比較穩妥妥嘎。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 爽爽视频免费看 | 久久精品免费网站 | 性猛aa久久久 | 高清国产福利 | 九九热国产视频 | 精品国产91久久久久久浪潮蜜月 | 欧美激情第一区 | av在线播放免费观看 | 911网站大全在线观看 | 欧美18一19sex性护士农村 | 色综合一区二区 | 99精品视频免费看 | 久久亚洲激情 | 国产精品久久久久久久不卡 | 最近日本电影hd免费观看 | 欧美一区二区黄 | 色欧美视频 | 国产欧美日韩在线不卡第一页 | 成年人在线免费播放视频 | 国产一区二区三区手机在线 | 欧美成人免费看 | 国产精品久久久久久久久久尿 | 激情97| 国产精品免费一区二区三区都可以 | 国产寡妇xxxxxxxx性开放 | 99精品视频久久精品视频 | 欧美日韩1区2区3区 黄片毛片一级 | 91成人一区二区三区 | 欧美成人一级 | 免费毛片小视频 | 国产精品入口夜色视频大尺度 | 永久免费一区二区三区 | 99久久九九爱看免费直播 | 99www| 成人三级电影网址 | 亚洲精品无码不卡在线播放he | 日本一区免费看 | 91免费高清视频 | 亚洲第一视频在线 | 毛片a片免费看 | 免费观看视频在线观看 |