preg_last_error ဖန်ရှင်
preg_last_error ဖန်ရှင်သည် ပုံမှန်အီဂျစ်ရှင်းများနှင့် အလုပ်လုပ်သော ဖန်ရှင်များအသုံးပြုစဉ် ဖြစ်ပွားခဲ့သော အမှားကုဒ်ကို ပြန်ပေးသည်။
ဤသည်မှာ preg_match သို့မဟုတ် preg_replace ကဲ့သို့သော ဖန်ရှင်များက false ပြန်ပေးသည့်အခါ ပုံမှန်အီဂျစ်ရှင်းများကို ရှာဖွေပြင်ဆင်ရာတွင် အသုံးဝင်ပါသည်။
ဖန်ရှင်သည် ပါရာမီတာများ လက်ခံမှုမရှိပါ။
ဖန်ရှင်သည် ကိန်းပြည့် အမှားကုဒ်ကို ပြန်ပေးသည်။ အဆင်ပြေစေရန် အမှားကုဒ်ကို အထူးကွန်စတင့်များနှင့် နှိုင်းယှဉ်နိုင်သည် (အောက်ပါ ဇယားကို ကြည့်ပါ)။
ဝါကျဖွဲ့စည်းပုံ
preg_last_error(): int;
အမှားကွန်စတင့်များ ဇယား
| ကွန်စတင့် | တန်ဖိုး | ဖော်ပြချက် |
|---|---|---|
PREG_NO_ERROR |
0 | အမှားမဖြစ်ပွားပါ |
PREG_INTERNAL_ERROR |
1 | PCRE ၏ အတွင်းပိုင်း အမှား |
PREG_BACKTRACK_LIMIT_ERROR |
2 | နောက်ပြန်ခြေရာခံ ကန့်သတ်ချက်ကို ကျော်လွန်သွားခြင်း (backtrack limit) |
PREG_RECURSION_LIMIT_ERROR |
3 | ထပ်ကာထပ်ကာ ခေါ်သုံးမှု ကန့်သတ်ချက်ကို ကျော်လွန်သွားခြင်း |
PREG_BAD_UTF8_ERROR |
4 | မမှန်ကန်သော UTF-8 ဒေတာများ |
PREG_BAD_UTF8_OFFSET_ERROR |
5 | အော့ဖ်ဆက်သည် မှန်ကန်သော UTF-8 ကုဒ်၏ စတင်မှုနှင့် မကိုက်ညီခြင်း |
PREG_JIT_STACKLIMIT_ERROR |
6 | JIT-ကွန်ပြူတာ စတက်ခ် ကန့်သတ်ချက်ကို ကျော်လွန်သွားခြင်း |
ဥပမာ
မမှန်ကန်သော ပုံမှန်အီဂျစ်ရှင်း တစ်ခုပြီးနောက် အမှားကို စစ်ဆေးကြည့်ပါ။
<?php
preg_match('/invalid(regex/', 'test');
$error_code = preg_last_error();
echo $error_code;
?>
ကုဒ် လုပ်ဆောင်မှု ရလဒ်။
4
ဥပမာ
PCRE အမှားကွန်စတင့်များနှင့် အတူ အသုံးပြုခြင်း။
<?php
preg_match('/(?:\D+/', 'abc123');
if (preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR) {
echo 'Backtrack limit was exhausted';
}
?>
ကုဒ် လုပ်ဆောင်မှု ရလဒ်။
'Backtrack limit was exhausted'
ဤသည်ကိုလည်း ကြည့်ပါ
-
preg_matchဖန်ရှင်၊
အကြောင်းမှာ ပုံမှန်အီဂျစ်ရှင်းဖြင့် ရှာဖွေမှုကို လုပ်ဆောင်ပေးသည် -
preg_replaceဖန်ရှင်၊
အကြောင်းမှာ ပုံမှန်အီဂျစ်ရှင်းဖြင့် အစားထိုးမှုကို လုပ်ဆောင်ပေးသည် -
preg_quoteဖန်ရှင်၊
အကြောင်းမှာ ပုံမှန်အီဂျစ်ရှင်းများရှိ အထူးအက္ခရာများကို ကာကွယ်ပေးသည်