Newline ဇာတ်ကောင်များ၏ကိုယ်စားပြုမှုသည်မတူညီသော operating system များတွင်ကွဲပြားသည်။ အဓိကအားဖြင့်အောက်ပါအမျိုးအစားများရှိသည် -
\ n : unix / linux နှင့် Macos တို့တွင်အသုံးပြုသောလိုင်းချိုးဖောက်မှု (LF) ။
\ r \ n : Windows မှအသုံးပြုသောလိုင်းချိုးဖောက်မှု (CRLF) ။
\ R : Line Breaks (CR) ကို MAC (MAC OS 9 နှင့်ယခင်ဗားရှင်း) မှအသုံးပြုသည်။
ပလက်ဖောင်းများအနှံ့အပြားတွင်ဘာသာစကားပေါင်းစုံစာသားများကိုကျွန်ုပ်တို့လုပ်ဆောင်သောအခါထုတ်ဖော်ပြောဆိုခြင်းသို့မဟုတ်ထပ်မံပြုပြင်ခြင်းပြုလုပ်သည့်အခါပြ problems နာများကိုရှောင်ရှားရန်အသစ်စက်စက်အမျိုးအစားများကိုတစ်ပုံစံတည်းပြုလုပ်ရန်လိုအပ်သည်။
ကျွန်ုပ်တို့တွင်ကွဲပြားခြားနားသောအသစ်များနှင့်အတူ Multi-line စာသားရှိသည်ဆိုပါစို့ ။ ၎င်းကို PREG_FILTER ကို သုံး. အောင်မြင်နိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"Hello, World!\r\nThis is a test.\nAnother line.\rAnd one more line."</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/\r\n|\r|\n/'</span></span><span>;
</span><span><span class="hljs-variable">$replacement</span></span><span> = </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-variable">$cleaned_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl2br</span></span><span>(</span><span><span class="hljs-variable">$cleaned_text</span></span><span>);
</span></span>အထက်ပါကုဒ်များတွင်ပုံမှန်အသုံးအနှုန်း / \ r \ n | \ R \ n | \ r | PREG_FILTER function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်အသစ်စက်စက်အက္ခရာများအားလုံးကို \ n ဖြင့်အစားထိုးသည်။
Preg_fileter နှင့် Preg_replace တို့အကြားအကြီးမားဆုံးကွာခြားချက်မှာပုံမှန်အစားထိုးခြင်းမအောင်မြင်သောအခါ Preg_replace သည် မူလ string ကိုပြန်လည်ရောက်ရှိစေသည့်အခါ Null ပြန်လည်ရောက်ရှိသည်။ ထို့ကြောင့်အသစ်သောအသစ်များနှင့်ဆက်ဆံရာတွင် Preg_Fileter သည်စာသားအတွင်းအသစ်များနှင့်ကွဲပြားစွာပြန်လည်အစားထိုးရန်နှင့်အသစ်သောအသစ်များနှင့်မတူပါကအပြောင်းအလဲများမပြုလုပ်နိုင်ပါ။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်တွင်ကျွန်ုပ်တို့သည် preg_replace အတူတူလုပ်ဆောင်ရန်အသုံးပြုသည်။
<span><span><span class="hljs-variable">$cleaned_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span></span>နှစ် ဦး စလုံး၏အကျိုးသက်ရောက်မှုမှာအတူတူပင်ဖြစ်သော်လည်း Return_filter ၏ပြန်လည်နေရာချထားခြင်းသည်ပုံမှန်အစည်းအဝေးအောင်မြင်မှုနှင့်အမှားအယွင်းများ ကို ပြန်မကျဘဲပုံမှန်အစည်းအဝေးအောင်မြင်သောရလဒ်များရရှိသောရလဒ်များကိုသာပြန်လည်ပေးအပ်ရန်သေချာစေသည်။
သင့်စာသားတွင်လိုင်းများစွာရှိပါကအသစ်များထုတ်ယူခြင်းသည် ၎င်းတို့ နှင့်အတူအစားထိုးရုံထက်ပိုနိုင်သည်။ အချို့သောအခြေအနေများအပေါ် အခြေခံ. သင်၏စာသားပုံစံကိုသင်ညှိရန်လိုကောင်းလိုပေမည်။
အပိုလိုင်းအားလပ်ချိန်ကိုဖယ်ရှားပေးသည်။
အချို့သောကွက်လပ်နေရာချထားပါ။
Newline ဇာတ်ကောင်များ၏ပုံစံကိုပုံမှန်။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်အသစ်သောဆက်တိုက်အသစ်များကိုစာသားထဲတွင်မည်သို့ဖျက်ပစ်ရမည်ကိုပြသသည်။
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"Hello, World!\n\n\nThis is a test.\n\nAnother line.\n\nAnd one more line."</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/\n+/'</span></span><span>;
</span><span><span class="hljs-variable">$replacement</span></span><span> = </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-variable">$cleaned_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl2br</span></span><span>(</span><span><span class="hljs-variable">$cleaned_text</span></span><span>);
</span></span>ဤဥပမာတွင် / \ n + / regex သည်အသစ်တစ်ခုသို့မဟုတ်ထိုထက်မကနှင့်ပိုမိုကိုက်ညီပြီး၎င်းတို့ကိုသီးခြား newline ဖြင့်အစားထိုးသည်။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အပိုအလွတ်လိုင်းများကိုရှင်းလင်းပြီးစာသားသပ်သပ်ရပ်ရပ်ကိုစောင့်ရှောက်နိုင်သည်။
PHP တွင် PREG_FILTER သည်အထူးသဖြင့်ဘာသာစကားမျိုးစုံစာသားနှင့်အသစ်စက်စက်ဇာတ်ကောင်များနှင့်ဆက်ဆံရာတွင်အလွန်လက်တွေ့ကျတဲ့လုပ်ဆောင်ချက်ဖြစ်သည်။ ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုခြင်းအားဖြင့်, သင်မလိုအပ်သောအလွတ်လိုင်းများကိုဖယ်ရှားခြင်း, မလိုအပ်သောစာလုံးများကိုအစားထိုးခြင်း,
Preg_filter function ကိုမှန်ကန်စွာအသုံးပြုခြင်းကိုနားလည်ခြင်း Preg_filter function ကိုမှန်ကန်စွာဖြည့်ဆည်းရုံသာမကကွဲပြားခြားနားသော operating system များတွင်လိုင်းချိုးဖောက်မှုများကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုရှောင်ရှားနိုင်သည်။ Multi-line text processing ပြုလုပ်သောအခါသင်၏အသစ်သောဇာတ်ကောင်သည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိစစ်ဆေးရန်သတိရပါ။