ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHPチュートリアルのpreg_match関数による正規マッチングの文字列長問題

PHP_PHPチュートリアルのpreg_match関数による正規マッチングの文字列長問題

WBOY
WBOYオリジナル
2016-07-13 09:52:35969ブラウズ

PHP の preg_match 関数の正規マッチングの文字列長の問題

この記事では、主に PHP の preg_match 関数の正規マッチングの文字列長の問題を紹介します。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'); より安全です。

http://www.bkjia.com/PHPjc/1007650.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1007650.html技術記事この記事では、PHP の preg_match 関数の文字列長の問題を主に紹介します。また、 preg_match 正規に遭遇した場合は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。