PHP ရီဂျူလား ထဲမှ သင်္ကေတအုပ်စုများ

သင်္ကေတအုပ်စုတစ်ခုလုံးကို တစ်ပြိုင်နက် ရွေးချယ်နိုင်စေသော အထူးကော်မန်များ ရှိပါသည်။ ကော်မန် \d ဆိုသည်မှာ 0 မှ 9 ထိ နံပါတ်ကို ဆိုလိုပါသည်။ ကော်မန် \w ဆိုသည်မှာ နံပါတ်၊ လက်တင်အက္ခရာ သို့မဟုတ် အောက်မျဉ်းဆွဲ လက္ခဏာကို ဖော်ပြပါသည်။ ကော်မန် \s ဆိုသည်မှာ ကြားခြားနေရာ သို့မဟုတ် ကြားခြားနေရာ သင်္ကေတကို ဖော်ပြပါသည်- ကြားခြားနေရာ၊ စာကြောင်းအသစ်သို့ ပြောင်းခြင်း၊ တက်ဘ်လ်ခြား။ ကော်မန်တန်ဖိုးကို ပြောင်းပြန်လှန်နိုင်သည်၊ အကြီးအက္ခရာဖြင့် ရေးသားခြင်း- ဥပမာ- \d ဆိုသည်မှာ နံပါတ်ဖြစ်ပါက၊ \D ဆိုသည်မှာ နံပါတ်မဟုတ်ပါ။

ဥပမာ

နံပါတ်အားလုံးကို ရှာကြည့်ရအောင်-

php<?php
  $str = '1 12 123';
  $res = preg_replace('#\d#', '!', $str);
?>

ရလဒ်အနေဖြင့် ယာယီကိန်းရှင်ထဲတွင် အောက်ပါအတိုင်း ရေးမှတ်ပါမည်-

php'! !! !!!'

ဥပမာ

အကြိမ်ကြိမ်ပြုလုပ်သည့် အော်ပရေတာများသည် ကော်မန်-အုပ်စုများကို တစ်ခုတည်းသော အစိတ်အပိုင်းအဖြစ် မှတ်ယူသည်၊ ဆိုလိုသည်မှာ အုပ်စုဖွဲ့ခြင်း ကွင်းစကွင်းပိတ်များ မလိုအပ်ပါ။ အောက်ပါဥပမာတွင် ရှာဖွေရေးပုံစံသည် ဤကဲ့သို့ပုံစံရှိသည်- နံပါတ် 0 မှ 9 ထိ တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပိုသော အကြိမ်ရေ-

php<?php
  $str = '1 12 123 abc @@@';
  $res = preg_replace('#\d+#', '!', $str);
?>

ရလဒ်အနေဖြင့် ယာယီကိန်းရှင်ထဲတွင် အောက်ပါအတိုင်း ရေးမှတ်ပါမည်-

php'! ! ! abc @@@'

ဥပမာ

အောက်ပါဥပမာတွင် ရှာဖွေရေးပုံစံသည် ပုံစံ ဤကဲ့သို့ရှိသည်- ဘာမဆို တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပိုသော အကြိမ်ရေ၊ သို့သော် နံပါတ် 0 မှ 9 ထိ မဟုတ်ပါ-

php<?php
  $str = '123abc3@@';
  $res = preg_replace('#\D+#', '!', $str);
?>

ရလဒ်အနေဖြင့် ယာယီကိန်းရှင်ထဲတွင် အောက်ပါအတိုင်း ရေးမှတ်ပါမည်-

php'123!3!'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံသည် ပုံစံဤကဲ့သို့ရှိသည်- ကြားခြားနေရာ သင်္ကေတ တစ်ကြိမ်-

php<?php
  $str = '1 12 123 abc @@@';
  $res = preg_replace('#\s#', '!', $str);
?>

ရလဒ်အနေဖြင့် ယာယီကိန်းရှင်ထဲတွင် အောက်ပါအတိုင်း ရေးမှတ်ပါမည်-

php'1!12!123!abc!@@@'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံသည် ပုံစံဤကဲ့သို့ရှိသည်- ကြားခြားနေရာ သင်္ကေတ မဟုတ်သော တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပိုသော အကြိမ်ရေ။ ကြားခြားနေရာများဖြင့် ပိုင်းခြားထားသော စာတန်းခွဲအားလုံးကို ပြောင်းလဲပါမည်။ '!' အဖြစ်သို့-

php<?php
  $str = '1 12 123 abc @@@';
  $res = preg_replace('#\S+#', '!', $str);
?>

ရလဒ်အနေဖြင့် ယာယီကိန်းရှင်ထဲတွင် အောက်ပါအတိုင်း ရေးမှတ်ပါမည်-

php'! ! ! ! !'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံသည် ပုံစံဤကဲ့သို့ရှိသည်- နံပါတ် သို့မဟုတ် အက္ခရာ တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပိုသော အကြိမ်ရေ။ နံပါတ်များနှင့် အက္ခရာများဖြင့် ဖွဲ့စည်းထားသော စာတန်းခွဲအားလုံးကို ပြောင်းလဲပါမည်။ '!' အဖြစ်သို့-

php<?php
  $str = '1 12 123a Abc @@@';
  $res = preg_replace('#\w+#', '!', $str);
?>

ရလဒ်အနေဖြင့် ယာယီကိန်းရှင်ထဲတွင် အောက်ပါအတိုင်း ရေးမှတ်ပါမည်-

php'! ! ! ! @@@'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံသည် ပုံစံဤကဲ့သို့ရှိသည်- နံပါတ် မဟုတ်ပါ နှင့် အက္ခရာ မဟုတ်ပါ တစ်ကြိမ် သို့မဟုတ် ထို့ထက်ပိုသော အကြိမ်ရေ။ ကျွန်ုပ်တို့၏ အမှုတွင် ဤဖွင့်ဆိုချက်နှင့် ကိုက်ညီသည်။ '@@@' နှင့် ကြားခြားနေရာအားလုံး (၎င်းတို့သည် သေချာပေါက် နံပါတ်များမဟုတ်၊ အက္ခရာများလည်း မဟုတ်ပါ)။ အောက်ပါအချက်ကို သတိပြုပါ- အဆုံးတွင် တစ်ခု '!' ရှိသည် - ၎င်းအတွင်းသို့ စာကြောင်း ' @@@' ကို ပြောင်းလဲထားသည် - ရှေ့တွင် ကြားခြားနေရာတစ်ခုနှင့်-

php$str = '1 12 123 Abc @@@';
$res = preg_replace('#\W+#', '!', $str);

ရလဒ်အနေဖြင့် ယာယီကိန်းရှင်ထဲတွင် အောက်ပါအတိုင်း ရေးမှတ်ပါမည်-

php'1!12!123!Abc!'

လက်တွေ့လေ့ကျင့်ခန်းများ

Задание 1

စာကြောင်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'a1a a2a a3a a4a a5a aba aca';
?>

ရီဂျူလားတစ်ခုကို ရေးသားပါ၊ ၎င်းသည် စာကြောင်းများကို ရှာဖွေတွေ့ရှိပါမည်။ ထို့အထဲတွင် အနားများတွင် အက္ခရာ 'a' ရှိပြီး၊ ၎င်းတို့အကြားတွင် နံပါတ်တစ်လုံးရှိသည်။

Задание 2

စာကြောင်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'a1a a22a a333a a4444a a55555a aba aca';
?>

ရီဂျူလားတစ်ခုကို ရေးသားပါ၊ ၎င်းသည် စာကြောင်းများကို ရှာဖွေတွေ့ရှိပါမည်။ ထို့အထဲတွင် အနားများတွင် အက္ခရာ 'a' ရှိပြီး၊ ၎င်းတို့အကြားတွင် နံပါတ်မည်မျှပင်ဖြစ်စေရှိသည်။

Задание 3

စာကြောင်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aa a1a a22a a333a a4444a a55555a aba aca';
?>

ရီဂျူလားတစ်ခုကို ရေးသားပါ၊ ၎င်းသည် စာကြောင်းများကို ရှာဖွေတွေ့ရှိပါမည်။ ထို့အထဲတွင် အနားများတွင် အက္ခရာ 'a' ရှိပြီး၊ ၎င်းတို့အကြားတွင် နံပါတ်မည်မျှပင်ဖြစ်စေရှိသည် (ဤတွင် နံပါတ်သုညအပါအဝင်၊ ဆိုလိုသည်မှာ စာကြောင်း 'aa')။

Задание 4

စာကြောင်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'avb a1b a2b a3b a4b a5b abb acb';
?>

ရီဂျူလားတစ်ခုကို ရေးသားပါ၊ ၎င်းသည် စာကြောင်းများကို ရှာဖွေတွေ့ရှိပါမည်။ အောက်ပါပုံစံ- အနားများတွင် အက္ခရာများရှိသည်။ 'a' နှင့် 'b'၊ ၎င်းတို့အကြားတွင် - နံပါတ်မဟုတ်ပါ။

Задание 5

စာကြောင်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'ave a#b a2b a$b a4b a5b a-b acb';
?>

ရီဂျူလားတစ်ခုကို ရေးသားပါ၊ ၎င်းသည် စာကြောင်းများကို ရှာဖွေတွေ့ရှိပါမည်။ အောက်ပါပုံစံ- အနားများတွင် အက္ခရာများရှိသည်။ 'a' နှင့် 'b'၊ ၎င်းတို့အကြားတွင် - အက္ခရာမဟုတ်၊ နံပါတ်လည်းမဟုတ်ပါ။

Задание 6

စာကြောင်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'ave a#a a2a a$a a4a a5a a-a aca';
?>

ရီဂျူလားတစ်ခုကို ရေးသားပါ၊ ၎င်းသည် ကြားခြားနေရာအားလုံးကို အစားထိုးပါမည်။ '!' အဖြစ်သို့။