လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင်ကလေးများအလုပ်လုပ်သော HTML Dom Elements မှကလေးများအားမည်သို့ထုတ်ယူနည်း။

PHP တွင်ကလေးများအလုပ်လုပ်သော HTML Dom Elements မှကလေးများအားမည်သို့ထုတ်ယူနည်း။

M66 2025-08-11

Element တစ်ခု၏ကလေးများအားထုတ်ယူခြင်းသည် HTML အကြောင်းအရာများကို 0 င်ရောက်ခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာသည့်အခါအလွန်များသောအားဖြင့်အလွန်အသုံးများသောလုပ်ငန်းတစ်ခုဖြစ်သည်။ PHP သည် HTML ကို လုပ်ဆောင်ရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ရန်နည်းလမ်းများစွာကိုဖော်ပြထားသည် သို့သော်သင်သည်တတိယပါတီစာကြည့်တိုက်ကို ရိုးရှင်းသောစာကြည့် တိုက်ကိုအသုံးပြုနေပါက ကလေးများ () function ကို ဖြတ်. ကလေးကိုစိတ်ရှုပ်ထွေးစေရန်ပိုမိုအဆင်ပြေနိုင်သည်။

ကလေးများ () function ကဘာလဲ?

ကလေးများ () သည် Simple_Htmml_Dy စာကြည့်တိုက်တွင်ဖော်ပြထားသောနည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည် HTML element တစ်ခု၏ကလေးများကို (စာသား node များဖယ်ထုတ်ခြင်း) ရရှိရန်အသုံးပြုသည်။ ဤနည်းလမ်းသည်ကလေး node များသို့မဟုတ်တိကျသောအညွှန်းကိန်းဖြင့်ကလေး node များသို့မဟုတ်ကလေး node တစ်ခုသို့ပြန်ပို့သည်။

HTML ကိုနမူနာ

 <span><span><span class="hljs-tag">&lt;<span class="hljs-name">div</span></span></span><span> </span><span><span class="hljs-attr">id</span></span><span>=</span><span><span class="hljs-string">"content"</span></span><span>&gt;
    </span><span><span class="hljs-tag">&lt;<span class="hljs-name">p</span></span></span><span>&gt;ပထမစာပိုဒ်</span><span><span class="hljs-tag">&lt;/<span class="hljs-name">p</span></span></span><span>&gt;
    </span><span><span class="hljs-tag">&lt;<span class="hljs-name">p</span></span></span><span>&gt;အပိုဒ် 2</span><span><span class="hljs-tag">&lt;/<span class="hljs-name">p</span></span></span><span>&gt;
    </span><span><span class="hljs-tag">&lt;<span class="hljs-name">span</span></span></span><span>&gt;တစ် span</span><span><span class="hljs-tag">&lt;/<span class="hljs-name">span</span></span></span><span>&gt;
</span><span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span></span></span><span>&gt;
</span></span>

ကလေးများအား အသုံးပြု. ကလေး node များထုတ်ယူနည်း။

အဆင့် 1: Smeml_Html_Dom ကိုမိတ်ဆက်ပါ

သင်ပထမ ဦး ဆုံးစာကြည့်တိုက်ကို GitHub သို့မဟုတ်၎င်း၏တရားဝင်ဝက်ဘ်ဆိုက်မှမိတ်ဆက်ပေးရန်လိုအပ်သည်။

 <span><span><span class="hljs-keyword">include</span></span><span>(</span><span><span class="hljs-string">'simple_html_dom.php'</span></span><span>);
</span></span>

အဆင့် 2: HTML ကို load လုပ်ပါ

HTML ကို string, file, or url မှတင်နိုင်သည်။

 <span><span><span class="hljs-variable">$html</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_get_html</span></span><span>(</span><span><span class="hljs-string">'&lt;div id="content"&gt;&lt;p&gt;ပထမစာပိုဒ်&lt;/p&gt;&lt;p&gt;အပိုဒ် 2&lt;/p&gt;&lt;span&gt;တစ် span&lt;/span&gt;&lt;/div&gt;'</span></span><span>);
</span></span>

အဆင့် 3: Target Element ကိုရွေးပြီး ကလေးများအားသုံးပါ။

 <span><span><span class="hljs-variable">$div</span></span><span> = </span><span><span class="hljs-variable">$html</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">find</span></span><span>(</span><span><span class="hljs-string">'div#content'</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// 获取第တစ် id အတွက် content ၏ div</span></span><span>
</span><span><span class="hljs-variable">$children</span></span><span> = </span><span><span class="hljs-variable">$div</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">children</span></span><span>();         </span><span><span class="hljs-comment">// ကလေးအားလုံးကိုရယူပါ</span></span><span>

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$children</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$child</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$child</span></span><span>-&gt;tag . </span><span><span class="hljs-string">': '</span></span><span> . </span><span><span class="hljs-variable">$child</span></span><span>-&gt;innertext . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
}
</span></span>

output ကိုဖြစ်လိမ့်မည်:

 <span><span><span class="hljs-section">p: ပထမစာပိုဒ်  </span></span><span>
</span><span><span class="hljs-section">p: အပိုဒ် 2  </span></span><span>
</span><span><span class="hljs-section">span: တစ် span  </span></span><span>
</span></span>

သတ်မှတ်ထားသောအညွှန်းကိန်း၏ကလေး node များကိုရယူပါ

ကလေးများ () နည်းလမ်းသည်တိကျသောအညွှန်းကိန်း၏ကလေး node များရရှိရန်နည်းလမ်းများကိုလည်း parameter ကိုလက်ခံနိုင်သည်။

 <span><span><span class="hljs-variable">$firstChild</span></span><span> = </span><span><span class="hljs-variable">$div</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">children</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$firstChild</span></span><span>-&gt;tag; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: p</span></span><span>
</span></span>

မှတ်သားရန်အရာ

  1. ကလေးများ () ကသာကလေး element node များသာဖြစ်သည်။ စာသား node များသို့မဟုတ်မှတ်ချက်များမဟုတ်ပါ။

  2. သားစဉ်မြေးဆက် node များအားလုံးကိုဖြတ်သန်းရန် (ကလေးသူငယ်များသာမဟုတ်ဘဲ) ကိုသင်ရှာ နိုင်သည်။

  3. ရိုးရှင်းသော အခါ External input ကိုကိုင်တွယ်သော HTML သည်လုံခြုံမှုရှိပြီး XSS သို့မဟုတ်အခြားဆေးထိုးရန်အန္တရာယ်များကိုရှောင်ရှားရန်သေချာစေပါ။

အကျဉ်းချုပ်

ကလေးများအားအသုံးပြုပါ (HTML element အောက်ရှိ html element တစ်ခုအောက်ရှိကလေး node များအားလုံးကိုအလွယ်တကူရယူနိုင်ရန်အတွက် ကလေးများ () function ကိုသုံးပါ။ Smart_Html_Dy နှင့်ပေါင်းစပ်ပြီးရှုပ်ထွေးသော HTML စာရွက်စာတမ်းများကိုလျင်မြန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်ပြီးဖွံ့ဖြိုးရေးထိရောက်မှုကိုများစွာတိုးတက်စေသည်။ ပိုမိုခိုင်မာသည့် Dom စစ်ဆင်ရေးစွမ်းရည်လိုအပ်သည့်ဖြစ်ရပ်များအတွက်ဖြစ်ရပ်များအတွက် PHP တွင် built-in domdocument class ကိုနားလည်ရန်အကြံပြုသည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    HTML