この記事では、PHP 開発でよく遭遇する Preg_match が長い文字列に一致しない問題を紹介しています。同じ問題に遭遇した学生は参照してください。
文字列が比較的長いので、preg_match にも文字列の長さ制限があるのではないかと思いますが、案の定!
これは、preg_match と preg_match_all で発生します。
解決策:
1.ini_set('pcre.backtrack_limit', 1000000); //デフォルトは 100000 のみです
2. より大きな文字列をサポートするように、php.ini の pcre.backtrack_limit パラメータを変更します。構成を追加: pcre.backtrack_limit=-1