preg_last_error
最後のPCRE定期的な実行によって生成されたエラーコードを返します
preg_last_error()
関数は、最近評価された正規表現のエラーコードを返します。返された値は、次の定数のいずれかと一致します。
絶え間ない | 説明する |
---|---|
preg_no_error | エラーは発生しませんでした。 |
preg_internal_error | 式の評価中にエラーが発生しました。 |
preg_backtrack_limit_error | 式を評価するために必要なバックトレースの数は、PHP構成で指定された制限を超えています。 |
preg_recursion_limit_error | 式を評価するために必要な再帰の深さは、PHP構成で指定された制限を超えています。 |
preg_bad_utf8_error | 入力文字列には、無効なUTF-8データが含まれています。 |
preg_bad_utf8_offset_error | 評価中、文字列オフセットは、マルチバイトUTF-8シンボルの最初の文字を指しません。 |
preg_jit_stacklimit_error | JITコンパイラは、式を評価しようとするときにスタックメモリを排出します。 |
preg_last_error()
を使用してエラーを処理します。
<?php $ str = 'この正規表現は無効です。 ' ; $ pattern = '/nivalid //' ; $ match = @ preg_match ( $ pattern 、 $ str 、 $ matches ) ; if ( $ match === false ) { //エラーが発生しました $ err = preg_last_error ( ) ; if ( $ err == preg_internal_error ) { echo 'regexは無効です。 ' ; } } else if ( $ mate ) { //一致を見つけます echo $ matches [ 0 ] ; }それ以外{ //一致が見つかりません エコー「一致しない」 。 } ?>
preg_last_error ( )