PHP တွင် string processing သည်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ တစ်ခါတစ်ရံတွင်မျက်မြင်မရသောအသစ်များ, tab ဇာတ်ကောင်များစသဖြင့် strings များဖြစ်သော strings များတွင် controls strings များရှိထိန်းချုပ်မှုဇာတ်ကောင်များကိုခွဲခြားသတ်မှတ်ရန်လိုအပ်သည်။ PHP သည် Coverpe control character နှင့်သက်ဆိုင်သည်ကိုရှာဖွေရန်အသုံးပြုနိုင်သည်။
ဤဆောင်းပါးသည် Coverpe_cntrl function ကိုအသုံးပြုနည်းကို Strings ရှိထိန်းချုပ်မှုဇာတ်ကောင်များကိုရှာဖွေရန်နှင့်ဤအထူးအက္ခရာများကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်ရန်ထိရောက်သောအစားထိုးနည်းလမ်းများကိုရှင်းပြရန် Coverpe_cntrl function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ထိန်းချုပ်မှုဇာတ်ကောင်များသည် 0 မှ 31 မှ 31 မှ 127 အထိရှိသည် ။ သာမန်လူများမှာ Line Breaks \ t
Coverpe_cntrl သည် string တွင်ရှိသောဇာတ်ကောင်တစ် ဦး စီသည်ထိန်းချုပ်မှုဇာတ်ကောင်ဖြစ်ကြောင်းစစ်ဆေးရန်အသုံးပြုသည်။ ၎င်း၏အသုံးပြုမှုမှာ -
bool ctype_cntrl ( string $text )
String ရှိအက္ခရာများအားလုံးသည်ထိန်းချုပ်ဇာတ်ကောင်များဖြစ်သည်ဆိုပါက စစ်မှန် ပါ ။
သတိပြုသင့်သည်မှာဤလုပ်ဆောင်မှုသည် string အတွက်ဇာတ်ကောင်တစ် ဦး စီအတွက်တရားမျှတမှုတစ်ခုလုံးဖြစ်သည်။ အကယ်. string သည်ထိန်းချုပ်မှုမရှိသောစာလုံးများပါ 0 င်ပါကရလဒ်မှာ မှား သည်။
ထို့ကြောင့် string တွင်ထိန်းချုပ်မှုအက္ခရာများရှိ, မရှိစစ်ဆေးရန်, ဇာတ်ကောင် bycal-character detection လိုအပ်သည်ကိုစစ်ဆေးရန်လိုအပ်သည်။
String ထဲရှိဇာတ်ကောင်တစ် ဦး ချင်းစီမှတစ်ဆင့် cype_cntrl ကို အကဲဖြတ်ရန် Coverpe_cntrl ကိုသုံးပါ။
နမူနာကုဒ်:
<?php
function replaceControlChars($str, $replacement = '') {
$result = '';
$length = strlen($str);
for ($i = 0; $i < $length; $i++) {
$char = $str[$i];
if (ctype_cntrl($char)) {
$result .= $replacement; // သတ်မှတ်ထားသောစာလုံးများနှင့်အစားထိုးပါ,ပုံမှန်အားဖြင့်ဖျက်ပါ
} else {
$result .= $char;
}
}
return $result;
}
$input = "Hello\nWorld\t!";
$output = replaceControlChars($input, ' ');
echo $output; // ထုတ်လုပ်ခြင်း:Hello World !
?>
Control Christs နှင့်သက်ဆိုင်သော ASCII အကွာအဝေးသည်ပုံမှန်ကိုက်ညီမှုဖြင့်အစားထိုးနိုင်သည်။
ဥပမာ -
<?php
$input = "Line1\r\nLine2\tEnd";
$output = preg_replace('/[\x00-\x1F\x7F]/', '', $input);
echo $output; // ထုတ်လုပ်ခြင်း:Line1Line2End
?>
ဤချဉ်းကပ်မှုသည်များသောအားဖြင့်ပိုမိုထိရောက်သောအခါပိုမိုထိရောက်စွာအစားထိုးရန်သင့်တော်သည်။
string တွင် control control controls တွင်ပထမဆုံးပါ 0 င်ခြင်းရှိမရှိစစ်ဆေးရန်လိုပါက၎င်းကိုအစားထိုးရန်ဆုံးဖြတ်ခြင်းရှိမရှိဆုံးဖြတ်ပါ ။
<?php
function hasControlChars($str) {
$length = strlen($str);
for ($i = 0; $i < $length; $i++) {
if (ctype_cntrl($str[$i])) {
return true;
}
}
return false;
}
$input = "Test\nString";
if (hasControlChars($input)) {
$cleaned = preg_replace('/[\x00-\x1F\x7F]/', '', $input);
echo $cleaned;
} else {
echo $input;
}
?>
Coverpe_cntrl သည် စာလုံးတစ်လုံးစီသည်ထိန်းချုပ်မှုဇာတ်ကောင်ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်သင့်တော်သည်။
String တွင် control control character များပါ 0 င်ခြင်းရှိမရှိရှာဖွေနေသည့်အခါ၎င်းသည်ဇာတ်ကောင် by-character detection ကိုရှာဖွေရန်လိုအပ်သည်။
ထိန်းချုပ်မှုအက္ခရာများကိုအစားထိုးသည့်အခါထိန်းချုပ်မှုဇာတ်ကောင်များနှင့်ကိုက်ညီရန်ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုခြင်းသည်ပိုမိုတိကျပြီးထိရောက်စေသည်။
နှစ်ခုပေါင်းစပ်ခြင်းပထမ ဦး ဆုံးတရားစီရင်၏ယုတ္တိဗေဒကိုနားလည်သဘောပေါက်ခြင်းနှင့်အစားထိုးနိုင်ပါတယ်။
အပေါ်ကပါ 0 င်မှုသည် covers controls characters ရှိ Control Chransmars ကိုရှာဖွေရန်နှင့်အစားထိုးရန် Coverpe_cntrl function ကိုပိုမိုကောင်းမွန်စွာနားလည်ရန်နှင့်အသုံးပြုရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။
<?php
// စက်ဝန်းထောက်လှမ်းရေးနှင့်အစားထိုးဥပမာ
function replaceControlChars($str, $replacement = '') {
$result = '';
$length = strlen($str);
for ($i = 0; $i < $length; $i++) {
$char = $str[$i];
if (ctype_cntrl($char)) {
$result .= $replacement;
} else {
$result .= $char;
}
}
return $result;
}
$input = "Hello\nWorld\t!";
$output = replaceControlChars($input, ' ');
echo $output; // Hello World !
?>
<?php
// ပုံမှန်စကားရပ်အစားထိုးဥပမာ
$input = "Line1\r\nLine2\tEnd";
$output = preg_replace('/[\x00-\x1F\x7F]/', '', $input);
echo $output; // Line1Line2End
?>
<?php
// ပထမ ဦး ဆုံး detect နှင့်ဥပမာကိုအစားထိုးလိုက်ပါ
function hasControlChars($str) {
$length = strlen($str);
for ($i = 0; $i < $length; $i++) {
if (ctype_cntrl($str[$i])) {
return true;
}
}
return false;
}
$input = "Test\nString";
if (hasControlChars($input)) {
$cleaned = preg_replace('/[\x00-\x1F\x7F]/', '', $input);
echo $cleaned;
} else {
echo $input;
}
?>