ကွန်ပျူတာများ, ပရိုဂရမ်းမင်း
ပုံမှန်စကားရပ် (PHP ကို) ။ PHP ကို: regular expressions ကိုဥပမာ
ဘယ်လောက်ကြီးမားခြင်းနှင့်ကွဲပြားခြားနားသကဲ့သို့လျင်မြန်စွာအချက်အလက်များ၏ကမ္ဘာကြီး, ကချဲ့ထွင်ခြင်းနှင့်ဖြစ်ပေါ်ပါသည်။ မဆိုဆုံးဖြတ်ချက် - လှုပ်ရှားမှု၏ခြုံငုံလုပ်ငန်းစဉ်များတွင်တစ်ခုသာမှတ်။ အသိပညာနှင့်အတွေ့အကြုံကိုဘယ်တော့မှဖြစ်နိုင်သည့်ပန်းတိုင်များ၏ဖြစ်စဉ်ကိုနားလည်စေခြင်း, ဒါပေမယ့် - ယင်း၏အောင်မြင်မှုမရရလဒ်။ ဒါဟာကျနော်တို့ရလဒ်အပေါ်အနာဂါတ်ကာလတွင်၌ဟောပြောနိုင်သောသံသယဖြစ်တယ်, ဒါပေမဲ့အဲဒါကိုအဘို့ကြိုးစားအားထုတ်လေ့ရှိ၏များ၏ဖြစ်စဉ်ကိုသိသိသာသာနဲ့ဓမ္မဓိဋ္ဌာန်ကျကျလိုအပ်သောလုပ်ငန်းစဉ်ကိုကြောင်းအရေးကြီးပါသည်။
သူလုပ်နေတာဘာကိုစဉ်းစားပါဘူးအထူးသဖြင့်အခါ, "Desire နှင့် / သို့မဟုတ်ငွေအများကြီး" အဲဒီနိုင်စွမ်းတစ်ခု algorithm ကိုဖန်တီးမပေးပါဘူး, နှင့်သင်တန်း၏ "အခမဲ့" လူပါဘူး။ မည်သည့်အခြေအနေမျိုးတွင်သတင်းအချက်အလက်ပြဿနာအနည်းဆုံးမျက်စိကန်းသောအစက်အပြောက်ရှိပါတယ်, ဒါပေမယ့်သူ့ကိုအဘို့, များသောအားဖြင့်ချက်ချင်း, အခြားသူများစင်ကြယ်သောအစွန်းအထင်းကိုသူတို့ရှိသမျှသည်အဖြူရောင်ပန်းပွင့်တွေဟာမသေချာပေါက်မြင်နိုင်ဖြစ်ကြသည်ကို၎င်း, ။
အင်တာနက်နည်းပညာသတင်းအချက်အလက်ဖို့လက်လှမ်းရိုးရှင်းသောထားပါတယ်, ဒါပေမယ့်မေးခွန်းဖြစ်ပါသည် - ရိုးရှင်းသောနှင့်အလုပ်သစ် "အသံအတိုးအကျယ်" ဝယ်ယူမဟုတ် - လိုချင်သောရှိခြင်းအပေါ်ထားရန်မည်သို့မည်ပုံ။ ပေမယ့်နှင့် PHP ကိုပုံမှန်စကားရပ် ကွာဟမှုရှင်းလင်းစွာမောမဟုတ်ပါဘူး, သူတို့ကရှေ့ဆက်သိသိသာသာခြေလှမ်းဖြစ်ကြသည်။
ရိုးရှင်းသောလုပ်ဆောင်ချက်များကို + algorithm ကို = ပုံစံ
regular expressions ကိုပူဇော်သက္ကာဘို့, PHP ကို algorithm ကိုသိသိသာသာအကြောင်းအရာလျော့နည်းစေပေမယ့်ပုံမှန်ထက်ရှာဖွေရေးလုပ်ဆောင်ချက်များကို / အစားထိုးခြင်းနှင့်အပြောင်းအလဲနဲ့ algorithms သူတို့၏အရေးပါမှုကိုဆုံးရှုံးမဟုတ်တွေ့ရှိခဲ့ပါတယ်။ နယူးစိတ်ကူးများသတင်းအချက်အလက်များတော်လှန်ရေးနိမိတျပါဘူး။ အဆိုပါမျှော်လင့်ထားနိုင်ပါဆုံး - ကျစ်လစ်သိပ်သည်းကုဒ်နှင့်ဆော့ဖ်ဝဲရေးသူမှန်မှန်ကန်ကန်ရှာဖွေစုံစမ်းမှုရေးဆွဲရန်စွမ်းရည်တိုးမြှင့်။
သင်သိနဲ့ PHP regular expressions ကိုအပေါ်လျှောက်ထားသင့်ပါတယ်။ ယုံကြည်စိတ်ချခြင်းနှင့်ထိရောက်သောဥပမာ။ တကယ်တော့ရိုးရှင်းရှာဖွေရေး functions များ, အခြေအနေများ, ကွင်းနှင့်အခြားအော်ပရေတာအစုတခုဖြင့်အစားထိုးပေမယ့်, ယန္တရားတစ်ခုကြင်နာ - ဒါပေမယ့်အသစ်တခုရှာဖွေရေးအင်ဂျင်၏ထွန်းနှင့်အတူဆွဲငင်အား၏ဗဟိုပုံစံမှပြောင်းလဲသောအစီရင်ခံစာပေးသင့်ပါတယ်။
ရှိသည်:
- အရည်အသွေးနှင့်ခေတ်သစ် tool ကို - ကသည်ကောင်းလှ၏
- လုပ်ဖော်ကိုင်ဖက်များ၏အတွေ့အကြုံကိုတွေ့မြင်အသုံးပြုဒီကိစ္စကိုဖြစ်၏
- အဖြစ်မှန်နဲ့ကို virtual စိတ်ကူးပေါင်းစပ်ပြီး - အောင်မြင်မှုတစ်ခုအာမခံချက်။
အဲဒါကိုဖြေရှင်းနိုင်ဖို့, ပြဿနာကိုနားလည်ရန်လိုအပ်သောခဲ့မည်သို့အသိပညာရရှိ, ကမကြာခဏ သာ. အရေးကြီးသောတိကျတဲ့ရလဒ်ထက်ဖြစ်ပါတယ်။
PHP ကိုအတွက်ပုံမှန်ဖော်ပြချက်ဘာသာစကားကို syntax အတွက်လုပ်ဆောင်ချက်များကိုတစ်နံပါတ်နှင့်အင်တာနက်ပေါ်ရှိအသုံးဝင်သောဥပမာတွေအများကြီးကကိုယ်စားပြုနေကြသည်။ သောကြောင့် syntax တိကျတဲ့ application ကိုရှေးခယျြစရာသာ developer များ၏စိတ်ကူးစိတ်သန်းများကန့်အသတ်ရှိပါသည်, ဒါပေမယ့်အားလုံးတင်းပလိတ်များ၏အလုပ်လုပ်ပါလိမ့်မယ်ဆိုတာကိုသတိရ sleuet ။ regular expressions ကို၏ PHP ကို validation ကိုအသုံးပြုခြင်းမရှိမဖြစ်အရေးပါသည်။
ရိုးရှင်းရှာဖွေရေးအက္ခရာ (string ကို)
သင်္ကေတ - ဤအမြဲတစ်ခုတည်းက byte မရှိ, မကြာခဏသင်္ကေတဖြစ်တယ်, တစ်ဦးချစ်ပ်အဖြစ်, အပြင်တစ်ဦးတိကျတဲ့အဓိပ္ပာယ်ကိုရှိပါတယ်။ encoding ကတော့သတ်မှတ်ပါတယ် ကွဲပြားခြားနား code ကိုမြင်နိုင်အက္ခရာများ။ အဆိုပါသင်္ကေတပေါင်းများစွာရွေးချယ်စရာရှိစေခြင်းငှါ: "$" = "အမေရိကန်ဒေါ်လာ" = "အမေရိကန်ဒေါ်လာ" ... - ကြောင့်ငွေကြေးမှ, ထိုတစ်နေရာရာမှာတစ်ခုခု၏အတိအကျအဓိပ္ပာယ်ကိုဖြစ်တယ်, ဒါပေမဲ့သေချာပေါက်နီးစပ်ဘူး။ သို့သော်အတိအကျအဓိပ္ပာယ်ကိုအမြဲဇာတ်ကောင် "$" နှင့်အတူစတင်သည်ဒါပေမယ့် "အမေရိကန်ဒေါ်လာ" နှင့် "အမေရိကန်ဒေါ်လာ" နဲ့မစတင်နိုင်သည့် variable ကို PHP ကိုအတွက်အိပ်ရလိမ့်မည်။
အဆိုပါအစီအစဉ်၏သင်္ကေတ၏ဆက်စပ်အတွက် function name (string ကို) ဖြစ်နိုင်ပါသည်: အသိအမှတ်ပြုရန်နှင့်ဖြည့်ဆည်း - ကဖွဲ့စည်းပုံ, functions များ, PHP ကို regular expressions ကိုဆုံးဖြတ်ချက်တွေမချဘို့ကိုတိုက်ရိုက်အသုံးပြုကြသည်အခါပြောင်းလဲနေသော object-oriented programming ကနေဖြစ်ပါတယ်။ သင်္ကေတ "အလှည့်" တွေ့သည်, ကိုယ်နှိုက်ကတွေ့ရှိခဲ့သောအတွင်းအရပ်ကဖြစ်ပါတယ်လမျး၌အဘယ်သို့ပြုရမည်ဆုံးဖြတ်သည်, လိုအပ်သော "ဟုသူကယူဆ" ။
မဟုတ်ထိုကဲ့သို့သောရိုးရှင်းသောလေ့ကျင့်ခန်း, နှင့်နောက်ထပ်သတင်းအချက်အလက်များသည်ထွန်းလင်းပိုကောင်း - တစ်ဇာတ်ကောင် / လိုင်းကိုရှာပါ။ ဒါဟာအစားအသောက်စျေးနှုန်းတွေအတွက်အကောင်းဆုံးဆယ်, အရသာချက်ပြုတ်နည်းများမွေးနေ့ကိတ်မုန့်ကိုရွေးချယ်ပါ, ဒါမှမဟုတ်မိစ္ဆာမျက်နှာကျက်များအတွက်ကန်ထရိုက်တာဆုံးဖြတ်ရန်တွေ့ရှိရန်အစဉ်အမြဲမလိုအပ်ပါဘူး။
တရာက်ဘ်ဆိုက်များ - မကြာခဏအဲဒါကိုတွေ့ရှိရန်လိုအပ်သောဒေတာဘေ့စကနေရှေးခယျြဖို့ဆန္ဒရှိဇာတ်ကောင်များနှင့်လိုင်းသောအခါရိုးရှင်းသော algorithms, ခက်ခဲအခြေအနေများအတွက်ရိုးရှင်းတဲ့ဂဏန်းသင်္ချာသတင်းအချက်အလက်မဟုတ်သို့မဟုတ်ပိုကောင်းအောင်ရန်လိုအပ်ပေသည်။ ရှာဖွေရေးအချိန်ဆိုဒ်များ၏နာမည်ဆိုးဖြင့်ကျော်ကြားရာပေါင်းများစွာ - စျေးနှုန်းအချိန်ကိုနမူနာဒေတာဘေ့စနေဇာတ်ကောင်များနှင့်ကြည့်ဖို့ဘယ်မှာ၏စျေးနှုန်းကို select ညီမျှသည်။
Lone သင်္ကေတ - ကထားသောစာပိုဒ်တိုများလျက်နှင့်မအနည်းငယ်စာကြောင်းများမဟုတ်ပါ, သူဘယ်နေရာမှာမဆိုဖြစ်ခြင်းနှင့်တပ်မက်လိုချင်သောအရာကဲ့သို့သေးငယ်ဖြစ်နိုင်ပါတယ်။ ရှာတွေ့ခဲ့သည်ဘယ်အရာကိုဆုံးဖြတ်ရန်ဘယ်လိုဆန္ဒရှိသလဲ?
ဥပမာ: စျေးနှုန်းများအဘို့အရှာဖွေရေး
ရုံစာသား "$" သင်္ကေတကိုရှာဖွေ - အနည်းငယ်။ ကအရေအတွက်အားရင်ဆိုင်နေရကြောင်း Check, ကအမြဲမလုံလောကျပါပဲ။ သငျသညျသင်္ကေတရှေ့တော်၌အချက်သို့မဟုတ်နံပါတ်ပေးလျှင် "$" ဟုအဆိုပါငွေကြေးဆိုင်ရာသင်္ကေတများရှေ့ဆက်နေသောမှာစျေးနှုန်းများအကောင့်သို့ခေါ်ဆောင်သွားမည်မဟုတ်ပါတဲ့အာမခံချက်ဖြစ်ပါတယ်။ အဲဒီမှာလည်းယေဘုယျအားဖြင့်ငွေကြေးမသတ်မှတ်ထားပါသောစျေးနှုန်း, ချန်လှပ်, ဒါပေမယ့်စာမကျြနှာပျေါမှာအကဲဆတ်သောညွှန်ကြားချက်အပေါ်ဖြစ်ပါတယ်နေကြသည်။
ယေဘုယျအားပုံမှန်အတိုင်းထုံးစံ၌ပြဿနာဖြေရှင်းနည်းအသိအမှတ်ပြုမှု algorithm ကိုနှင့်အချိန်-စားသုံးကျော်လွန်ပြီးဖောင်းပွ။ ဤအတောအတွင်းပုံမှန်စကားရပ်ကိုသုံးပြီး, PHP ကိုအရေအတွက်ကမျှမပြဿနာတွေရှာတွေ့ပါလိမ့်မယ်။
$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | USD | y က \ £ \ | ue) {1} / i ။ ";
"e-mail ကိုကွညျ့ရှု - 2usd;
";
"e-mail ကိုရှာပါ - 2u.e;
။ ";
"e-mail, အလုပ် - ue2;
";
"e-mail, Check - $ 13", $ aResult);
။ '; '' ။ ($ aResult [0] ',') implode ။ ''
'' ။
";, 2usd 2u.e. 2" ကားလိုင်းအတွက်ဘာမှမတှေ့: "e-mail စစ်ဆေး - $ 13. " ထူးမည်
ရှေ့တွင်သို့မဟုတ်ဇာတ်ကောင်ရဲ့နောက်ကွယ်ကပုံစံ၏ရှေ့မှောက်တွင်များအတွက်ထောက်ပံ့, သငျသညျအမြားဆုံးကိစ္စများတွင်လျင်မြန်စွာအောင်မြင်မှုအောင်မြင်ရန်နိုင်ပါတယ်။
$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | USD | y က \ £ \ | ။ Ue) {1}) | (([$] | USD | y က \ £ \ ။ | ue) {1} [0-9] +) / i ";
"e-mail ကိုကွညျ့ရှု - 2usd;
";
"e-mail ကိုရှာပါ - 2u.e;
။ ";
"e-mail, အလုပ် - ue2;
";
"e-mail, Check - $ 13", $ aResult);
။ '; '' ။ ($ aResult [0] ',') implode ။ ''
'' ။
ရလဒ်: "4; 2usd, 2u.e. , ue2, $ 13. "
မရည်ရွယ်သောယုတ္တိဗေဒအကြောင်း
ပုံမှန်ဖော်ပြချက် PHP ကိုကမ်းလှမ်းအဖြစ်ကိုအခြားကိရိယာများ, ဒါပေမယ့်သူ့ရဲ့စည်းမျဉ်းစည်းကမ်းတွေအရသိရသည်သူတို့ကိုလျှောက်ထားသို့မဟုတ်စာလုံးအသေး syntax လမ်းပေးအပ်သည်အခြားလုပ်ငန်းဆောင်တာသုံးစွဲဖို့မလိုအပ်ပါဘူး။
ကြိုတင်သတ်မှတ်ချက်နှင့်အညီအစိတ်အပိုင်းများသို့ဆင်းချိုးခင်းကျင်း, ကြှနျုပျတို့ရှာဖွေရာအရပ်မှဖွင့်ရန်လိုအပ်သည်ရှာဖွေရေး၏အစမပြုမီဖြစ်နိုင်ပါ့မလား။ ပေါက်ကွဲ () နှင့် (implode ့စုံတွဲတစ်တွဲ) ကိုမကြာခဏရိုးရှင်းစွာနှင့်ဆုံးဖြတ်ချက်တက်အမြန်နှုန်း။
အမည်မသိ ImyaDerevnya နဲ့ volume စုဆောင်းနှင့်တိုင်းပြည်ညှို့တွေရဲ့ array ထဲမှာအများအပြားကုမ္ပဏီများမှပြေးလျှင် "မှတဆင့် ImyaDerevnya.ImyaPredpriyatie နှင့်တန်ဖိုးရှိ၏: ဥပမာအားဖြင့်, ပဏာမအလုပ်၏ရလဒ်အဖြစ်တိုင်းရွာစုဆောင်းမည်မျှအာလူးအပေါ်ခရိုင်အတွင်းရှိညှို့တွေရဲ့ array (Data) ကိုဖွဲ့စည်း " ဒါအားလုံးစီးပွားရေးလုပ်ငန်းများအပေါ်။ ဤကိစ္စတွင်အတွက်စုဆောင်းစုစုပေါင်းငွေပမာဏကိုဖြစ်နိုင်သမျှလိမ့်မည်မဟုတ်ပေတွက်ချက်သော်လည်း, သင်သည် impode ( ";", $ aResult) ကျင့်ကိုကျင့်လျှင်, အရာအတွက်တစ်စုံတစ်ဦးရှည်လျားသောလိုင်းဖြစ်လိမ့်မည် - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - အရွယ်အစားတစ်ဦးစုဆောင်းမှု - ထိုမှတဆင့်လွှဲပြောင်းလိမ့်မည် ";" ။ ယင်းရလဒ်ပေါ်မှာပြောင်းပြန်လုပ်ပါ ( ";", $ aResult) ပေါက်ကွဲ - စုဆောင်းကြောင့်စုဆောင်းမည်သို့သောသူအပေါင်းတို့သည်တွေရဲ့ array,, ပြီးတော့အားလုံး Non-numeric ဇာတ်ကောင်ကနေလိုင်းများဖယ်ရှားခြင်းအားဖြင့်, သာနံပါတ်များရှိသည်, အရာများ၏ပေါင်းလဒ်စုဆောင်းစုစုပေါင်းအသံအတိုးအကျယ်ဖြစ်ပါတယ်။
ဒီဥပမာထဲမှာ, PHP ကိုအတွက်ပုံမှန်စကားရပ်သူတို့လိုချင်သောကိန်းဂဏန်းတန်ဖိုးများကိုလွယ်ကူပြီးစျေးနှုန်းသက်သာထုတ်ယူဖြစ်ကြသည်အလွန်အကျွံကြည့်ရှုဖို့မခွင့်ပြုပါ။ မြန်မြန်ဆန်ဆန်နဲ့ထိထိရောက်ရောက်ကြောင့်ကျေးရွာများနှင့်စီးပွားရေးလုပ်ငန်းများ၏အမည်များဖြစ်နိုင်သည်အဘယ်မျှကာလပတ်လုံးနေပါစေ။ ဒါဟာဖြေရှင်းချက်စံပြမဖြစ်ပေမယ့်အမြဲတမ်းစည်းမျဉ်းစည်းကမ်းတွေကိုဖြစ်သင့်နောက်ကိုလိုက်မပြသထားတယ်။ ဒါဟာတစ်ဦးပုံမှန်မဟုတ်သောလမ်းအတွက်လိုချင်သောအောင်မြင်ရန်မကြာခဏဖြစ်နိုင်ပါတယ်။
နည်းပညာဆိုင်ရာဘက်မှ Abstracting, အ encoding က
အဆိုပါ algorithm ကို၏ syntax ကအဖြစ်မှန်အတွက်တစ်ခုအတွက်မည်သို့ဟုမဆိုပေ။ သို့သော်စာမျက်နှာ၏တူညီသောကုဒ်ပြောင်းပေးအပ်ခြင်းနှင့်အတန်း script ကို (ထိုပုံရိပ်တွေသောငှါရှာကြံသော) ထိုပြဿနာသို့ထိုးနိုင်ပါတယ်ယင်း၏နည်းပညာဆိုင်ရာရှုထောင့်ဖြစ်ပါတယ်။
တဦးတည်းသာရပါမည်ကိုမည်သို့ပြောင်းလဲမှဘာသောအခါမည်မျှ, ရှာကိုအဘယ်သို့သိပေမယ့်ဘယ်မှာထိုသို့ပြုမှ။ တရားဝင်၎င်း၏ကိုယ်ပိုင်တဲ့ပြီးပြည့်စုံသောအပြည့်အဝ-အထူးအသားပေးယန္တရားအဖြစ်ကွပ်မျက်ခံရ regular expressions ကို PHP, ဒါပေမယ့်အကြောင်းရင်းများစွာအဘို့, ကွဲပြားခြားနားသောဘာသာစကားမြားစှာက၎င်း၏ counterparts တွေကိုများ၏သဘောပေါက်။ သင်တစ်ဦးသတ်သတ်မှတ်မှတ်တာဝန်များအတွက်အထူးသဖြင့် tool ကိုပတ်ဝန်းကျင်အတွက်အထူးသဖြင့်ပုံစံကိုရွှေ့ရှေ့တော်၌ယေဘုယျစည်းမျဉ်းအတိုင်း, ကအရည်အသွေးမြင့်လိုက်လျောညီထွေထွက်သယ်ဆောင်ရန်လိုအပ်သောဖြစ်ပါသည်, အရင်းအမြစ်ဒေတာအားလုံးကိုတတ်နိုင်သမျှရွေးချယ်စရာအဘို့အစစ်ဆေးပါ။
တောင်မှသင်သည်သင်၏ကိုယ်ပိုင်အတွေ့အကြုံကို PHP ကိုအတွက်ဖွံ့ဖြိုးဆဲ, regular expressions ကို, ဥပမာ, တင်းပလိတ်များနှင့်ဒီဇိုင်းကိုအသုံးပြုဖို့ပါလျှင်သတိထားပါစစ်ဆေးခြင်းကိုလိုအပ်သည်။ dynamically ဘာသာစကားကိုလုပ်ဆောင်ချက်ကို, syntax နှင့် runtime ကပြောင်းလဲနေတဲ့။
တစ်ဦး template ကို၏ဖွဲ့စည်းပုံနဲ့ content
ယခင်ကရှာဖွေရေး functions များ, ပေါင်းစပ်၏ပုံစံအတွက်ရေးသားခဲ့အဘယျသို့ အခြေအနေများ, ပုံမှန်စကားရပ်ပုံစံ - delete, အစားထိုးစစ်ဆင်ရေး, ထည့်သွင်းခြင်း, အချို့သောစည်းမျဉ်းစည်းကမ်းတွေအရသိရသည်ဇာတ်ကောင်တစ်ဦး string ကိုဖြစ်ပါတယ်။ တကယ်တော့တစ်ဦးသိသိသာသာငွေပမာဏလူတယောက်လမ်းအတွက် encoded နှင့်တိကျသောစည်းမျဉ်းစည်းကမ်းတွေကိုကွပ်မျက်။
ဒါကြောင့်မည်သည့်ဘာဂင်ဘာသာစကားအော်ပရေတာလုပျဆောငျဖို့မဖြစ်နိုင်ဘူးသကဲ့သို့, သင်ကပုံမှန်စကားရပ်ပုံစံ Debugging နိုင်ဘူး, ဒီဖြစ်စဉ်ကိုသာအတုယူလို့ရပါတယ်။ အထွေထွေစည်းမျဉ်းအဖြစ်ဗားရှင်းမွေးစား: အလုပ်ဖြစ်တယ် - အလုပ်မလုပ်ပါဘူး။ အဆိုပါ syntax အထူးသဖြင့်အစဦး၌, သူ့အမြင်ဖြစ်သော်လည်းအလွန်ရိုးရှင်းပြီးအလွန်ခက်ခဲသည်။
ရိုးရှင်းတဲ့စကားရပ်၏ဥပမာတစ်ခု
ရိုးရှင်းတဲ့ဂျမှာ template ကို string ကိုကိုက်ညီ:
$ CContents = preg_match ( "/ asdf / i", "asdf" $ aResult) ။ '; '' ။ ( ',', $ aResult) implode ။
အဆိုပါရလဒ် "1; asdf" ဖြစ်လိမ့်မည်, ထို function ကိုတစ်ဦးကိုက်ညီခြင်း template ကိုတွေ့ဆုံခဲ့ပြီးပထမဦးဆုံးမှာ၎င်း၏စစ်ဆင်ရေးပြီးဆုံးကတည်းက။ ကျနော်တို့လိုင်း "zzzasdfvvv" ၌ "aaaasdf" လိုင်းမှာကြည့်ရှုပါလျှင်အဆိုပါရလဒ်, တူညီတဲ့ဖြစ်လိမ့်မည်။ သင်ပထမဦးဆုံးနှင့် / သို့မဟုတ်နောက်ဆုံးဇာတ်ကောင်ကိုသတ်မှတ်လျှင်, ရလဒ်ရှင်းရှင်းလင်းလင်းပါလိမ့်မယ်:
$ CContents = preg_match ( "/ ^ asdf / i", "asdf" $ aResult) ။ '; '' ။ ( ',', $ aResult) implode ။ ''
';
$ CContents ။ = Preg_match ( "/ asdf $ /", "asdf" $ aResult) ။ '; '' ။ ( ',', $ aResult) implode ။ ''
'' ။
အဆိုပါရလဒ်ဖြစ်လိမ့်မည်: 1; asdf1; asdf ။
အဆိုပါသင်္ကေတ "*" နှင့် "$" ဘယ်မှာ start နှင့်အဆုံးသတ်ပုံစံမှဖော်ပြသည်။ preg_match function ကိုရလဒ် - ပွဲ၏နံပါတ်မှားယွင်းမှုတစ်ခုတွေ့ရှိလျှင်, ဒါကြောင့်, 0, 1, ဒါမှမဟုတ်မှားယွင်းသောနိုင်ပါတယ်။ တတိယ option ကို - တစ်ခင်းကျင်း - တင်လိုက်တယ်သာတွေ့ရှိခဲ့ဒြပ်စင်။ ) (preg_match_all function ကိုသုံးပြီး၏ဖြစ်ရပ်အတွက်ရှာဖွေရေးအဆုံးလိုင်းနေဆဲဖြစ်သည်။
$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789" $ aResult) ။ '; '' ။ ( ',', $ aResult) implode ။ ''
';
$ CContents ။ = Preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789" $ aResult) ။ '; '' ။ ($ aResult [0] ',') implode ။ ''
'' ။
ရလဒ်:
1; asdf
3; asdf, asdf, asdf ။
သငျသညျအထူးညွှန်ကြားချက်ကိုမသုံးထားဘူးဆိုရင်, တစ်ခုချင်းစီဇာတ်ကောင်မသက်ဆိုင်မျဉ်းနိုင်တဲ့ coding နှင့် template ကိုနိုင်တဲ့ coding ၏, ကိုယ်တိုင်နှင့်၎င်း၏အရပ်ဌာနသတ်မှတ်ပါတယ်။ အဆိုပါပရိုဂရမ်သည်ဤဒြပ်စင်များ၏ encoding ကတစ်ဦးချင်းစီကတခြားဆက်စပ်နှင့် encoding ကစာမျက်နှာအတွက်မှန်ကန်သောဖြစ်ကြောင်းသေချာရပေမည်။
regular expressions ကိုအတူလုပ်ကိုင်ဘို့ PHP ကိုလုပ်ဆောင်ချက်များကို
PHP ကိုများအတွက်ပုံမှန်အသုံးအနှုန်းတွေဟာအခြို့သောလမ်းတှငျမှတျတမျးတငျထားသတဲ့ဇာတ်ကောင် string ကိုကိုယ်စားပြုသည်။ များသောအားဖြင့်အခြား programming ကိုဘာသာစကားများနှင့်အတူတစ်ခုနဲ့နှိုင်းယှဉ်ခြင်းဖြင့်, ထိုသူတို့သင်္ကေတ၌ရေးထားလျက်ရှိ၏ "/" ... "/" နှင့် quotation သင်္ကေတထဲတွင်နေရာ, သင် algorithm ကိုပေါ် မူတည်. တစ်ခုတည်းသို့မဟုတ်နှစ်ဆကိုသုံးနိုင်သည်။
အဓိက function ကို php preg regular expressions ကိုကိုက်ညီနှစ်ဦးစလုံးပုံစံပွဲစဉ်ကိုအသုံးပြုသည်နှင့်ပထမဦးဆုံးတည်နေရာမှာရပ်, တစ်ဦးနောက်ဆက် _all နှင့်အတူတကွတစ်မူကွဲအားလုံးပွဲတွေ့နှင့်စစ်ခင်းကျင်း Output ဖြစ်ပါတယ်။ function preg တစ်ခုချင်းစီကိုတစ်ဦး template ကိုကိုက်ညီအစားထိုးပြုလုပ်ရှာဖွေရေးဒီဇိုင်းကိုခွင့်ပြု, array နှင့်အတူအလုပ်လုပ်ရန်နဲ့ options အမျိုးမျိုးကိုအစားထိုးလုပ်ဆောင်နိုင်ပါတယ်အစားထိုးလိုက်ပါ။
regular expressions ကိုအတူလုပ်ကိုင်ဘို့စိတ်ဝင်စားဖို့ရွေးချယ်စရာထိုကဲ့သို့သောအစားထိုးထုတ်ဆောင်ရွက်မည်သည့် preg_replace_callback မျှအစားထိုးစာသားကိုယူကြောင်း function ကို, ထို function ကို၏အမည်ကို အသုံးပြု. တီထွင်နိုင်ပါတယ်။ လက်တွေ့တန်ဖိုးကိုအပြင်သင်နောက်ဆုံးများ၏ဖွံ့ဖြိုးတိုးတက်ရေးနှင့်ဒီဘာဂင်သိသိသာသာအခန်းကဏ္ဍအကြောင်း, ယန္တရားများပုံစံစစ်ဆေးအကောင်အထည်ဖော်နိုင်ပါတယ်။
regular expressions ကို၏ scope
hypertext ကိုဘာသာစကားများကြီးမြတ်သောအတိုင်းအတာအထိသတင်းအချက်အလက်တရားဝငျမှတျပုံတငျနေကြသည်ကတည်းကသူတို့က စတင်. ပစ္စည်းဖြစ်ကြသည်။ ထိထိရောက်ရောက်ဒေတာပမာဏကို process မှခွင့်ပြုတင်းပလိတ်များနှင့်ဒီဇိုင်းများ၏ကြီးမားသောအရေအတွက်ကတီထွင်ထုတ်လုပ်နိုင်ခဲ့သည်။ ဤလုပ်ငန်းကိုတစ်ဦးကသိသာသောအဘို့ကိုအမျိုးမျိုးသောအကြောင်းအရာစီမံခန့်ခွဲမှုစနစ်များ (CMS) ထဲသို့ built ယန္တရားများဖျော်ဖြေနေသည်။
မရအံ့သြစရာကောင်းလောက်အောင်, CMS သို့အဆောက်အဦက်ဘ်ဆိုက်များဘို့က de facto စံချိန်စံညွှန်းများဖြစ်လာသဖြင့်, (updated) software ကိုကုမ္ပဏီများအနေဖြင့်လိုက်ပါသွားခံရအများအပြား, သူတို့က၎င်း၏ကိုယ်ပိုင်အပေါ်ပုံစံများဖွံ့ဖြိုးတိုးတက်ရေးထွက်သယ်ဆောင်ရန်လိုအပ်စေခဲ့ပါဘူး။ သို့သော်ထိုကဲ့သို့သောစနစ်များကိုပြင်ပ regular expressions ကိုအတူအတွေ့အကြုံကိုအလွန်အသုံးဝင်သည်ရှိသည်။
ပုံမှန်အသုံးအနှုန်းတွေနှင့်အစစ်အမှန်သတင်းအချက်အလက်
PHP ကိုစာကြည့်တိုက်များအတွက်ပုံမှန်အသုံးအနှုန်းတွေ၏လျှောက်လွှာ၏အရေးပါသောဧရိယာထွန်း PHPOffice ဖွဲ့စည်းခဲ့သည်။ စာရွက်စာတမ်းများ, စာရင်းဇယားများနှင့်အမြဲအရေးကြီးပြီး OOXML စံရှိခဲ့ပါတယ်နှင့်အတူအလုပ်အမှန်တကယ်စာရွက်စာတမ်းများဖျက်သိမ်းဖို့, ဒါပေမယ့်လည်းသူတို့ရဲ့အစီအစဉ်ကိုပုံဖော်ဖို့မသာဖြစ်နိုင်ပါတယ်။
အထူးသဖြင့် hypertext ကိုနဲ့ PHP ဘာသာစကားများဖွံ့ဖြိုးတိုးတက်စေရန်အတွက်ကျေးဇူးတင်ပါတယ်, စာရွက်စာတမ်းများ "စံပုံစံ" ဥပမာ, ငွေပေးချေမှုများအတွက်ငွေတောင်းခံလွှာများ, အစီရင်ခံစာများ, စီးပွားရေးအစီအစဉ်များနှင့်အခြားသတင်းအချက်အလက်များအရာဝတ္ထု၏ "ထုတ်လုပ်မှု" အလိုအလျောက်တစ်ဦးကိုမှန်ကန်အခွင့်အလမ်းလည်းမရှိ, ဖွဲ့စည်းပုံနှင့်အကြောင်းအရာများကိုဤသို့တရားနှင့်အလိုအလျောက်ဖို့အမှန်တကယ်အာမင်ဖြစ်ကြသည်။
ကွန်နက်ရှင်အတွက်လျှောက်လွှာကိုဖော်ပြရန်နှင့်အတူ regular expressions ကို၏ဘာသာစကားကို OOXML ဖှံ့ဖွိုးတိုးတဖြစ်စဉ်ကိုပထမဦးဆုံးဌာန၌ Markup Language က HTML နဲ့ CSS နှင့်အတူရိုးရာအလုပ်လုပ်ရာမှအတော်လေးကွဲပြားခြားနားသည်။ marking မှလွဲ. နှင့်အမှန်တကယ်အကြောင်းအရာအပြင်အမှန်တကယ်စာရွက်စာတမ်း, အသေးစိတျအများကြီးရှိပါတယ်။ ဥပမာ, program ကအလိုအလျှောက်ဖန်တီးခဲ့တဲ့စာရွက်စာတမ်း, တစ်ဦးအားတိကျအကြောင်းအရာရပါလိမ့်မယ်။ စာရွက်စာတမ်းဖွဲ့စည်းခဲ့သို့မဟုတ်ကုသပုဂ္ဂိုလ်တစ်ဦးအကြောင်းအရာရှိသည်လိမ့်မယ်, tags များ၏ဗဟုကျော်ခြယ်သခဲ့သည်။ စာရွက်စာတမ်းနှင့်အတူမည်သည့်အလုပ်ကများ၏ semantic တဦးတည်းဖြစ်နိုင်သည်ဟူသောအချက်ကိုဦးတည်ပေမယ့်ကွဲပြားခြားနားတဲ့ဒီဇိုင်းပေါ်မှာကွဲပြားခြားနားသောပမာဏသာရှိခြယ်။
သဘာဝသတင်းအချက်အလက်နှင့်အခွအေန
ရလဒ်အဖြစ်, တူညီတဲ့သတင်းအချက်အလက်ပေးတော်မူလတံ့, သတင်းအချက်အလက်ဆန္ဒပြခြင်းနှင့်မူသောပြဿနာဖြေရှင်းနည်းအတွက်အမြဲစိတ်ဝင်စားတစ်ဦးကလူတစ်ဦး။ တစ်ဦးစာရွက်စာတမ်းများ၏ပုံစံအတွက်ပြဿနာများ၏ထုတ်ပြန်ချက်တင်ဆက်ထားပါတယ်, ပုဂ္ဂိုလ်တစ်ဦးတစ်ဦးသတ်သတ်မှတ်မှတ် semantic ရရှိသွားတဲ့, ကျွမ်းကျင်သူများရဲ့သတ်မှတ်ချက်၌ (ပြင်ဆင်ရေး, အသုံးအနှုန်းအားရှင်းလင်းထားသည့်, ဖျက်ခြင်းပြင်ဆင်ရန်) တစ်ဦးစာရွက်စာတမ်း multiple ဗားရှင်းမှ, ဒါပေမယ့်လည်းကွဲပြားခြားနားသောအကြောင်းအရာများနှင့်အတူ၎င်း၏ဗားရှင်းဦးဆောင်မသာ။
တည်းဖြတ်ရေးဤကဲ့သို့သောကြည့်ရှုမည်ပြီးနောက်အထူးသဖြင့်, ထိုထားသောစာပိုဒ်တိုများအားဖြင့်သတ်မှတ်ထား task ကို "စတုရန်း uranenie ဖြေရှင်း": "။ တဲ့ quadratic ညီမျှခြင်းဖြေရှင်းနိုင်စေရန်" ပထမဦးဆုံးမှာပထမဦးဆုံးအမှားကိုဆုံးခဲ့ပြီး, အဲဒီနောက်ဒုတိယ, ထို့နောက် OOXML စတိုင်သဘာဝသတင်းအချက်အလက်တူမယ်ဆိုပါက: "[ဖြေရှင်း] [] [စတုရန်း] [အီး] [] [ရွှင်လန်း] [ခ] [nenie]" သို့သော်ဤမ ဒီတာဝန်ကြောင်းအာမခံချက် (ကွင်းခတ်ကွင်းခတ် tags များအတုယူစ) tags များ OOXML ပေါ်လာပါလိမ့်မယ်။
အတူတူထားရန်သတင်းအချက်အလက်တစ်ခုချင်းစီကိုတာဝန်အပြီးအလွယ်တကူတည်းဖြတ်မှုလုပ်ငန်းစဉ်ဖြစ်နိုင်ပေမယ့်တစ်ဦးချင်းစီအချိန်ဒီလုပ်ထုံးလုပ်နည်းအမျိုးမျိုးသော algorithms များကဖျော်ဖြေကြလိမ့်မည်။ သတင်းအချက်အလက်ပြဿနာများ၏ဤသို့တရား၏ tool ကိုတစ်ဦးစီအဖြစ်ပုံမှန်အသုံးအနှုန်းတွေ, သဘာဝသတင်းအချက်အလက်မှ Hypertext ၏တရားဝင်အဆောက်အဦများအနေဖြင့်လမ်းခရီးလမ်းလျှောက်, အကျိုးသက်ရောက်မှုအတွက်ဖြစ်လာကြပါပြီ။
Similar articles
Trending Now