<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 这部分内容与文章正文无关,可以是任意PHP代码示例</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">dummyFunction</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"Hello, this is a dummy function."</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">dummyFunction</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<preg_replace_callback_array中常见的正则表达式写法错误有哪些?避免这些坑></p>
<p>在PHP中,<code>preg_replace_callback_array
ပုံမှန်စကားရပ်မှခွဲထုတ်သူတစ် ဦး ထည့်သွင်းရန်နှင့် Separator မတိုင်မီနှင့်ပြီးနောက်နှင့်ကိုက်ညီပါ။
ပုံမှန်အသုံးအနှုန်းများအတွက်အထူးဇာတ်ကောင်များစွာကိုလွတ်မြောက်ရန်လိုအပ်သည်။ အထူးသဖြင့် PHP strings တွင်ပုံမှန်ရေးသားသည့်အခါ backslash ကိုယ်တိုင်လည်းလွတ်မြောက်ရန်လိုအပ်သည်။ ၎င်းသည်လွတ်မြောက်မှုအမှားတစ်ခုဖြစ်စေသည်။
</span><span><span class="hljs-variable">$patterns</span></span><span> = [
</span><span><span class="hljs-string">'/\\d+/'</span></span><span> => </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) { </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>]; }, </span><span><span class="hljs-comment">// မှန်ကန်သော,PHPstring ကို၌တည်၏\\တစ်ခုတည်းကိုကိုယ်စားပြုတယ်\</span></span><span>
</span><span><span class="hljs-string">'/\d+/'</span></span><span> => </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) { </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>]; }, </span><span><span class="hljs-comment">// မှန်ကန်သော,单引号string ကို၌တည်၏\တိုက်ရိုက်ထိရောက်သော</span></span><span>
</span><span><span class="hljs-string">"/\d+/"</span></span><span> => </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) { </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>]; }, </span><span><span class="hljs-comment">// မှန်ကန်သော,双引号string ကို၌တည်၏\dဖော်ထုတ်နိုင်ပါသည်</span></span><span>
</span><span><span class="hljs-string">"/\d+/"</span></span><span> => </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) { </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>]; }, </span><span><span class="hljs-comment">// ဘုံအမှားအယွင်းများအဖြစ်ရေးသားခဲ့သည် "/\\d+/" ကိုက်ညီမှုပျက်ကွက်မှုဖြစ်ပေါ်စေသည်</span></span><span>
];
ရှောင်ကြဉ်ပါ - ပုံမှန်အသုံးအနှုန်းများကိုထုပ်ပိုးရန်တစ်ခုတည်းကိုးကားချက်များကိုအသုံးပြုပါ။
developer အတော်များများသည်အဖွဲ့များနှင့်ကိုက်ညီမှုရှိသည့်အခါသို့မဟုတ်အသုံးပြုသောအုပ်စုများကိုအများအားဖြင့်လျှော့ချလိုသည်။
</span><span><span class="hljs-comment">// unatedured အုပ်စုဖွဲ့</span></span><span>
</span><span><span class="hljs-string">'/foo(?:bar)/'</span></span><span> </span><span><span class="hljs-comment">// မှန်ကန်သော,(?:)unatatured အုပ်စုဖွဲ့အုပ်စုကိုညွှန်ပြ</span></span><span>
</span><span><span class="hljs-string">'/foo(bar)/'</span></span><span> </span><span><span class="hljs-comment">// အုပ်စုလိုက်ဖမ်းယူ</span></span><span>
</span><span><span class="hljs-comment">// အမည်အုပ်စု,မှန်ကန်သော写法:</span></span><span>
</span><span><span class="hljs-string">'/foo(?P<name>bar)/'</span></span><span>
</span><span><span class="hljs-comment">// အရေးအသားမှား:</span></span><span>
</span><span><span class="hljs-string">'/foo(?<name>bar)/'</span></span><span> </span><span><span class="hljs-comment">// အချို့ပေမယ့်PHPဗားရှင်းအထောက်အပံ့,ဒါပေမယ့်မPCREစံဖြစ်သော,ဖြစ်နိုင်သမျှလိုက်ဖက်တဲ့</span></span><span>
ရှောင်ရှားခြင်းနည်းလမ်း - စံသတ်မှတ်ထားသည့်အုပ်စုစု syntax (? P) ကိုအသုံးပြုရန်အကြံပြုသည်။
ရှုပ်ထွေးသောစည်းမျဉ်းစည်းကမ်းများကိုရေး သောအခါ ,
</span><span><span class="hljs-variable">$patterns</span></span><span> = [
</span><span><span class="hljs-string">'/(foo(bar/'</span></span><span> => </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) { </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>]; }, </span><span><span class="hljs-comment">// bracket မတိုက်ဆိုင်,အမှားတစ်ခုသတင်းပို့ပါ</span></span><span>
</span><span><span class="hljs-string">'/foo+/'</span></span><span> => </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) { </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>]; }, </span><span><span class="hljs-comment">// quantifiers ၏မမှန်ကန်ကြောင်းအသုံးပြုမှု,+ လျှောက်ထားခဲ့သည် foo စိတ်မကောင်းစရာဝေဝါးအဓိပ္ပာယ်ကိုဖြစ်ပေါ်စေသည်</span></span><span>
];
ရှောင်ကြဉ်ပါ။ မှန်ကန်သော syntax ကိုသေချာစေရန်ပုံမှန်အသုံးအနှုန်းများကိုစစ်ဆေးရန် IDE သို့မဟုတ်အွန်လိုင်းကိရိယာများကိုသုံးပါ။
Relback function ၏မျှော်လင့်ထားသည့်ကိုက်ညီမှုရလဒ်သည်ပုံမှန်စကားရပ်အဓိပ္ပါယ်ဖွင့်ဆိုချက်နှင့်ကိုက်ညီမှုမရှိပါ။
</span><span><span class="hljs-variable">$patterns</span></span><span> = [
</span><span><span class="hljs-string">'/(foo)(bar)/'</span></span><span> => </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$matches</span></span></span><span>) {
</span><span><span class="hljs-comment">// $matches[1] ဟုတ်ကဲ့ foo, $matches[2] ဟုတ်ကဲ့ bar</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>]; </span><span><span class="hljs-comment">// Non- မရှိသည့်အညွှန်းကိန်း,အမှားတစ်ခုသတင်းပို့ပါ</span></span><span>
}
];
ရှောင်ကြဉ်ပါ။
ဥပမာအားဖြင့်, အမှု, တစ်ခုတည်းလိုင်း mode, လိုင်း multi-line mode စသဖြင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ခြင်းသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီခြင်းမဟုတ်ပါ။
</span><span><span class="hljs-string">'/pattern/i'</span></span><span> </span><span><span class="hljs-comment">// i အမှုအားလျစ်လျူရှုကြောင်းဖော်ပြသည်</span></span><span>
</span><span><span class="hljs-string">'/pattern/s'</span></span><span> </span><span><span class="hljs-comment">// s ညှစ် . မဲဆန္ဒနယ်များကိုက်ညီ</span></span><span>
</span><span><span class="hljs-comment">// 忘记加修饰符ကိုက်ညီမှုပျက်ကွက်မှုဖြစ်ပေါ်စေသည်</span></span><span>
</span><span><span class="hljs-string">'/pattern/'</span></span><span> </span><span><span class="hljs-comment">// စာလုံးအကြီးအသေးသတိထားရမည်</span></span><span>
ရှောင်ကြဉ်ပါ။ သင်၏လိုအပ်ချက်များနှင့်အညီပြုပြင်မွမ်းမံချက်များကိုထည့်ပါ။
preg_replace_callback_array ကို အသုံးပြုသည့်အခါကြိုးများပြုလုပ်ရန်အတွက်ပုံမှန်အသုံးအနှုန်းကိုမှန်ကန်စွာရေးသားရန်အလွန်အရေးကြီးသည်။ ပျောက်ဆုံးနေသောအမှားများ, အမှားအယွင်းများ, ပုံမှန်မဟုတ်သောအုပ်စုများ, မမှန်မကန်အုပ်စုများ, syntax အမှားများ, callback parameter များအမှားများ, ပုံနှိပ်ခြင်းမပြုမီပုံမှန်အသုံးအနှုန်းများကိုသီးခြားစမ်းသပ်ခြင်းအလေ့အထကိုရေးဆွဲခြင်းသည်အုပ်စုဖွဲ့ခြင်းနှင့်ကိုက်ညီသောရလဒ်များကိုစစ်ဆေးရန် debugging tools များကို အသုံးပြု. ဤအန္တရာယ်များကိုအားဖြည့်ခြင်းများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
ဤဆောင်းပါးသည် Preg_replace_callback_array ကို အသုံးပြုသောအခါပုံမှန်အတိုင်းပုံမှန်စကားရပ်ရေးရာအမှားများကိုရှောင်ရှားရန်နှင့်ပိုမိုယုံကြည်စိတ်ချရသောနှင့် effectable php code ကိုရေးရန်သင်ရှောင်ရှားရန်ကူညီပေးပါ။