Fungsi preg_last_error
Fungsi preg_last_error mengembalikan kod ralat terakhir,
yang timbul semasa bekerja dengan fungsi untuk ungkapan biasa.
Ini berguna untuk penyahpepijat ungkapan biasa, apabila fungsi
seperti preg_match atau preg_replace mengembalikan false.
Fungsi ini tidak menerima parameter.
Fungsi mengembalikan kod ralat integer. Untuk kemudahan, anda boleh membandingkan kod ralat dengan pemalar khas (lihat jadual di bawah).
Sintaks
preg_last_error(): int;
Jadual dengan Pemalar Ralat
| Pemalar | Nilai | Keterangan |
|---|---|---|
PREG_NO_ERROR |
0 | Tiada ralat berlaku |
PREG_INTERNAL_ERROR |
1 | Ralat dalaman PCRE |
PREG_BACKTRACK_LIMIT_ERROR |
2 | Had backtrack terlampaui (backtrack limit) |
PREG_RECURSION_LIMIT_ERROR |
3 | Had rekursi terlampaui |
PREG_BAD_UTF8_ERROR |
4 | Data UTF-8 tidak betul |
PREG_BAD_UTF8_OFFSET_ERROR |
5 | Ofset tidak sepadan dengan permulaan kod UTF-8 yang betul |
PREG_JIT_STACKLIMIT_ERROR |
6 | Had timbunan pengkompil JIT terlampaui |
Contoh
Mari semak ralat selepas ungkapan biasa yang tidak betul:
<?php
preg_match('/invalid(regex/', 'test');
$error_code = preg_last_error();
echo $error_code;
?>
Keputusan pelaksanaan kod:
4
Contoh
Penggunaan dengan pemalar ralat PCRE:
<?php
preg_match('/(?:\D+/', 'abc123');
if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) {
echo 'Backtrack limit was exhausted';
}
?>
Keputusan pelaksanaan kod:
'Backtrack limit was exhausted'
Lihat juga
-
fungsi
preg_match,
yang melakukan carian mengikut ungkapan biasa -
fungsi
preg_replace,
yang melakukan penggantian mengikut ungkapan biasa -
fungsi
preg_quote,
yang melarikan aksara khas dalam ungkapan biasa