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

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

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

PHPのpreg_match関数の文字列長に問題があります。phppreg_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'); これはより安全です。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1008023.html技術記事 PHP の preg_match 関数の文字列長に問題があり、phppreg_match プロジェクトでターゲットのコンテンツを抽出するために使用されます。コードはデッドオアアライブです。 その後妊娠しました...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。