လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အမိန့် () strtr () ကို strtr () ကို stritt အစားထိုးခြင်းနှင့်အတူလက်တွေ့ကျတဲ့နည်းလမ်းများကဘာတွေလဲ။

အမိန့် () strtr () ကို strtr () ကို stritt အစားထိုးခြင်းနှင့်အတူလက်တွေ့ကျတဲ့နည်းလမ်းများကဘာတွေလဲ။

gitbox 2025-06-17

PHP တွင် အမှာစာ () နှင့် strtr () functions () functions () functions များသည် developer များကိုဇာတ်ကောင်အပြောင်းအလဲများကိုတိုးတက်စေရန်ကူညီနိုင်သည့်အလွန်လက်တွေ့ကျသောကိရိယာများဖြစ်သည်။ ARM () strrtr () strings ၏ဇာတ်ကောင်များကိုအစားထိုးရန်အတိုချုပ်နည်းလမ်းများအဖြစ်သတ်မှတ်ထားသည့် ARMCII ကုဒ်များသို့အက္ခရာများကိုပြောင်းလဲစေနိုင်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအက်ခရာမြေပုံရေးဆွဲခြင်းအစားထိုးရန်အတွက်မည်သို့ပေါင်းစပ်ပြီးလက်တွေ့ကျသောအပလီကေးရှင်းများတွင်အချို့သောနည်းလမ်းများကိုမိတ်ဆက်ပေးနိုင်သည်။

1 ။ အမှာစာ () function ကိုအခြေခံအသုံးပြုခြင်း

အမှာစာ () function သည် PHP built-in function တစ်ခုဖြစ်ပြီးဇာတ်ကောင်၏ ASCII Code တန်ဖိုးကိုပြန်လည်ရောက်ရှိစေသည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-string">'A'</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: 65</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-string">'a'</span></span><span>);  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: 97</span></span><span>
</span></span>

အမှာစာဖြင့် () , သင်အလွယ်တကူဇာတ်ကောင်အတွက် ASCII ကုဒ်ကိုအလွယ်တကူရနိုင်သည်။ ၎င်းသည်ဇာတ်ကောင်နှင့်နှိုင်းယှဉ်ခြင်းနှင့်အခြားလုပ်ငန်းများအတွက်အလွန်အခြေခံကျသောလုပ်ဆောင်မှုကိုပေးသည်။

2 ။ strtr () function ကို၏အခြေခံအသုံးပြုမှု

strrtr () သည်သတ်သတ်မှတ်မှတ်စာလုံးများကိုကြိုးဖြင့်အစားထိုးသည့် function တစ်ခုဖြစ်သည်။ ဒါဟာအသုံးများသောအသုံးပြုမှုနှစ်ခုရှိပါတယ်:

  • ဇာတ်ကောင်အစားထိုး : ဇာတ်ကောင် string table မှတဆင့်ပစ်မှတ်ဇာတ်ကောင်များနှင့်အတူဇာတ်ကောင် string ကို tawm ဇာတ်ကောင်နှင့်အတူဇာတ်ကောင် string ကိုအစားထိုးပါ။

  • ဇာတ်ကောင်အကွာအဝေးအစားထိုး : သတ်မှတ်ထားသောအကွာအဝေးအတွင်းရှိအက်ခရာအားလုံးကိုအစားထိုးလိုက်ပါ။

ဥပမာအားဖြင့်, အစားထိုးရန်အတွက်အက်ခရာမြေပုံကိုသုံးပါ။

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;
</span><span><span class="hljs-variable">$trans</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"h"</span></span><span>, </span><span><span class="hljs-string">"j"</span></span><span>);  </span><span><span class="hljs-comment">// သေတမ်းစာ 'h' အစားထိုးလိုက်ပါ 'j'</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$trans</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: jello</span></span><span>
</span></span>

ဒီဥပမာမှာ string ထဲမှာဇာတ်ကောင်တွေကိုတိုက်ရိုက်အစားထိုးဖို့ strr () ကို သုံးတယ်။ strtr () သေးငယ်တဲ့အကွာအဝေးဇာတ်ကောင်အစားထိုးနှင့်ဆက်ဆံရာတွင်အလွန်ထိရောက်သောဖြစ်ပါတယ်။

3 ။ အမှာစာ () နှင့် strtr ၏ပေါင်းစပ်

အမှာစာ () strtr () ကိုပေါင်းစပ်ခြင်း () ကိုပေါင်းစပ်ခြင်း () ပိုမိုရှုပ်ထွေးသောဇာတ်ကောင်မြေပုံရေးဆွဲခြင်းလုပ်ငန်းများကိုကိုင်တွယ်နိုင်သည်။ ကျွန်ုပ်တို့သည် ascii code ကိုရရန်အမှာ စာ () function ကိုသုံးနိုင်သည်။ ထို့နောက် strtr () ကို အစားထိုးရန် strr () ကိုသုံးနိုင်သည်။ ဤပေါင်းစပ်နည်းသည်အထူးသဖြင့်ဇာတ်ကောင် encoding လိုအပ်သည့်အခြေအနေအချို့တွင်အထူးအသုံးဝင်သည်။

3.1 ASCII ကုဒ်အပေါ်အခြေခံပြီးမြေပုံ

ASCII Code တန်ဖိုးအပေါ် အခြေခံ. ဇာတ်ကောင်အစားထိုးရန်လိုအပ်သည့် string တစ်ခုရှိသည်ဆိုပါစို့။ သင် အမှာစာ () ကို ဇာတ်ကောင်တစ်ခုစီအတွက် ASCII ကုဒ်ကိုရယူရန် () ကိုသုံးနိုင်သည်။ ထို့နောက်ဤကုဒ်တန်ဖိုးများအရ၎င်းကို အခြေခံ. အစားထိုးနိုင်သည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;
</span><span><span class="hljs-variable">$trans</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"h"</span></span><span>, </span><span><span class="hljs-string">"j"</span></span><span>);  </span><span><span class="hljs-comment">// တိုက်ရိုက်အစားထိုး</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$trans</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: jello</span></span><span>

</span><span><span class="hljs-comment">// နောက်တစ်နည်း:ပေါ်အခြေခံကာ ord() ဇာတ်ကောင်မြေပုံလုပ်ဆောင်ပါ</span></span><span>
</span><span><span class="hljs-variable">$new_str</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_split</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>) </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$char</span></span><span>) {
    </span><span><span class="hljs-variable">$ascii</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-variable">$char</span></span><span>);
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$ascii</span></span><span> == </span><span><span class="hljs-number">104</span></span><span>) {  </span><span><span class="hljs-comment">// ASCII တန်ဖိုး 104 အချိန်ပါပဲ 'h'</span></span><span>
        </span><span><span class="hljs-variable">$new_str</span></span><span> .= </span><span><span class="hljs-string">'j'</span></span><span>;  </span><span><span class="hljs-comment">// အစားထိုးလိုက်ပါ 'j'</span></span><span>
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-variable">$new_str</span></span><span> .= </span><span><span class="hljs-variable">$char</span></span><span>;  </span><span><span class="hljs-comment">// မူရင်းဇာတ်ကောင်များကိုသိမ်းထားပါ</span></span><span>
    }
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$new_str</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: jello</span></span><span>
</span></span>

ဤဥပမာတွင် အမှာစာ () function ကိုဇာတ်ကောင်၏ ASCII ကုဒ်ကိုရယူရန်နှင့်ဤကုဒ်အပေါ် အခြေခံ. ဇာတ်ကောင်ကိုအစားထိုးခြင်းရှိမရှိဆုံးဖြတ်ရန်အမှာစာကိုအသုံးပြုသည်။

3.2 အကြီးစားဇာတ်ကောင်မြေပုံ

အချို့ဖြစ်ရပ်များတွင်စာလုံးအကြီးတစ်ခုသို့မဟုတ်အက်ခရာတစ်ခုလုံးကိုအစားထိုးခြင်းကဲ့သို့သောစာလုံးကြီးများကိုအစားထိုးရန်လိုကောင်းလိုပေမည်။ strrtr () သူတို့ကိုအစားထိုးရန်တစ်ပြိုင်နက်ဇာတ်ကောင်မျိုးစုံဖြတ်သန်းခြင်းကိုထောက်ပံ့သည်။ ဤအချိန်တွင်အ မှာ စာကိုပေါင်းစပ်ခြင်းဖြင့်အမှာစာဖြင့်မြေပုံထုတ်ပေးနိုင်ပါသည်။

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"abcdefg"</span></span><span>;
</span><span><span class="hljs-variable">$map</span></span><span> = [];

</span><span><span class="hljs-comment">// မြေပုံရေးဆွဲရေးဆက်ဆံရေးကိုဖန်တီးပါ:သေတမ်းစာ小写字母 a-z အစားထိုးလိုက်ပါ A-Z</span></span><span>
</span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$i</span></span><span> = </span><span><span class="hljs-number">97</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span> &lt;= </span><span><span class="hljs-number">122</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span>++) {
    </span><span><span class="hljs-variable">$map</span></span><span>[</span><span><span class="hljs-title function_ invoke__">chr</span></span><span>(</span><span><span class="hljs-variable">$i</span></span><span>)] = </span><span><span class="hljs-title function_ invoke__">chr</span></span><span>(</span><span><span class="hljs-variable">$i</span></span><span> - </span><span><span class="hljs-number">32</span></span><span>);  </span><span><span class="hljs-comment">// ASCII 码差တန်ဖိုး 32(စာလုံးအကြီးအသေး)</span></span><span>
}

</span><span><span class="hljs-variable">$trans</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$map</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$trans</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: ABCDEFG</span></span><span>
</span></span>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်စာလုံးအကြီးများကိုစာလုံးအကြီးများသို့စာလုံးအကြီးများသို့ပြောင်းလဲခြင်းဖြင့်စာလုံးအကြီးတစ်ခုသို့ပထမဆုံးအကြိမ်ထုတ်လွှင့်သည်။ ထို့နောက် strtr () ကို တစ်ပြိုင်တည်းအစားထိုးရန် strr () ကိုသုံးပါ။

4 ။ လက်တွေ့ကျသော application အခြေအနေများ

4.1 ဇာတ်ကောင် encryption နှင့် decryption

အမှာနှင့် strrch () ပေါင်းစပ်ခြင်း () ပေါင်းစပ်မှုသည်ရိုးရှင်းသောအက်ခရာစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်း algorithms များကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် ASCII Code ကို အမှာစာ ဖြင့် (ပုံသေတန်ဖိုးကိုထည့်ခြင်းစသည့်) ၎င်းကို encrypt လုပ်ပြီး၎င်းကို strr () ဖြင့်အစားထိုးနိုင်သည်။

 <span><span><span class="hljs-comment">// ရိုးရှင်းသောဇာတ်ကောင် encryption:ဇာတ်ကောင်တစ်ခုစီ ASCII Code Plus 1</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello"</span></span><span>;
</span><span><span class="hljs-variable">$encrypted</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-title function_ invoke__">str_split</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>) </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$char</span></span><span>) {
    </span><span><span class="hljs-variable">$encrypted</span></span><span> .= </span><span><span class="hljs-title function_ invoke__">chr</span></span><span>(</span><span><span class="hljs-title function_ invoke__">ord</span></span><span>(</span><span><span class="hljs-variable">$char</span></span><span>) + </span><span><span class="hljs-number">1</span></span><span>);  </span><span><span class="hljs-comment">// သေတမ်းစာဇာတ်ကောင်တစ်ခုစီ ASCII Code Plus 1</span></span><span>
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$encrypted</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: ifmmp</span></span><span>
</span></span>

4.2 HTML Ellue ဇာတ်ကောင်အပြောင်းအလဲနဲ့

HTML တွင်အချို့သောစာလုံးများကို < to & lt ကဲ့သို့သောထွက်ပြေးရန်လိုအပ်သည်။ > to & GT;အမှာစာ () နှင့် strtr () ကို အသုံးပြုခြင်းသည် Custom Friend ဇာတ်ကောင်အပြောင်းအလဲများကိုအကောင်အထည်ဖော်နိုင်သည်။

 <span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"&lt;div&gt;Hello World&lt;/div&gt;"</span></span><span>;
</span><span><span class="hljs-variable">$trans</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, [
    </span><span><span class="hljs-string">"&lt;"</span></span><span> =&gt; </span><span><span class="hljs-string">"&amp;lt;"</span></span><span>,
    </span><span><span class="hljs-string">"&gt;"</span></span><span> =&gt; </span><span><span class="hljs-string">"&amp;gt;"</span></span><span>,
    </span><span><span class="hljs-string">"&amp;"</span></span><span> =&gt; </span><span><span class="hljs-string">"&amp;amp;"</span></span><span>
]);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$trans</span></span><span>;  </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: &amp;lt;div&amp;gt;Hello World&amp;lt;/div&amp;gt;</span></span><span>
</span></span>

ဤဥပမာတွင် HTML Injection ၏ပြ problem နာကိုရှောင်ရှားရန်အတွက်အထူးအက္ခရာများကို strtr () ဖြင့်တိုက်ရိုက်အစားထိုးသည်။

5 ။ အကျဉ်းချုပ်

အမှာစာ () နှင့် strr ()) , PHP developer များပေါင်းစပ်ခြင်းအားဖြင့် Php developer များကမြေပုံအစားထိုးခြင်းတွင်ပိုမိုလွယ်ကူစွာနှင့်ထိရောက်မှုရှိသည်။ လုပ်ဆောင်ချက်နှစ်ခုစလုံးသည်၎င်းတို့ကိုစာဝှက်ထားပြီးစာဝှက်ဖြည်ပြီး decrypted, character အစားထိုးခြင်း, သူတို့၏အသုံးပြုမှုကိုနားလည်သဘောပေါက်ခြင်းနှင့်ကျွမ်းကျင်မှုသည်သင့်အားဇာတ်ကောင်ပြောင်းလဲခြင်းဆိုင်ရာပြ issues နာများကိုပိုမိုထိရောက်စွာကိုင်တွယ်ဖြေရှင်းရန်ကူညီနိုင်သည်။