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 ( )