preg_last_error_msg
最後のPCRE正規表現実行のエラーメッセージを返します
関数名:preg_last_error_msg()
該当するバージョン:PHP 8.0.0以上
関数の説明:preg_last_error_msg()関数は、最後のPCRE正規表現関数コールのエラー情報を取得するために使用されます。
構文:文字列preg_last_error_msg(void)
戻り値:最後のPCREエラーを説明する文字列を返し、エラーが発生しない場合、空の文字列が返されます。
例:
<?php // 示例1 preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $matches); if (preg_last_error() !== PREG_NO_ERROR) { echo preg_last_error_msg(); } else { echo "No error occurred."; } // 输出:No error occurred. // 示例2 preg_match('/(foo)(bar)(baz/', 'foobarbaz', $matches); if (preg_last_error() !== PREG_NO_ERROR) { echo preg_last_error_msg(); } // 输出:PREG_BAD_DELIMATOR - missing ending delimiter '/' // 示例3 preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $matches, PREG_UNMATCHED_AS_NULL); if (preg_last_error() !== PREG_NO_ERROR) { echo preg_last_error_msg(); } else { echo "No error occurred."; } // 输出:No error occurred. ?>
上記の例は、preg_last_error_msg()関数の使用法を示しています。例1では、正規表現にはエラーがないため、関数は空の文字列を返します。例2では、正規表現にはエンドデリミッターがなく、preg_bad_delimatorエラーが発生し、preg_last_error_msg()関数を介してエラーメッセージを取得します。例3では、preg_unmatched_as_nullオプションが使用されましたが、正規表現にはエラーがないため、機能は空の文字列を返します。
PREG_LAST_ERROR_MSG()関数を使用するには、関数が最後のPCRE関数呼び出しのエラーメッセージのみを返すため、関数が呼び出された直後にエラーチェックを実行する必要があることに注意してください。