Element တစ်ခု၏ကလေးများအားထုတ်ယူခြင်းသည် HTML အကြောင်းအရာများကို 0 င်ရောက်ခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာသည့်အခါအလွန်များသောအားဖြင့်အလွန်အသုံးများသောလုပ်ငန်းတစ်ခုဖြစ်သည်။ PHP သည် HTML ကို လုပ်ဆောင်ရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ရန်နည်းလမ်းများစွာကိုဖော်ပြထားသည် ။ သို့သော်သင်သည်တတိယပါတီစာကြည့်တိုက်ကို ရိုးရှင်းသောစာကြည့် တိုက်ကိုအသုံးပြုနေပါက ကလေးများ () function ကို ဖြတ်. ကလေးကိုစိတ်ရှုပ်ထွေးစေရန်ပိုမိုအဆင်ပြေနိုင်သည်။
ကလေးများ () သည် Simple_Htmml_Dy စာကြည့်တိုက်တွင်ဖော်ပြထားသောနည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည် HTML element တစ်ခု၏ကလေးများကို (စာသား node များဖယ်ထုတ်ခြင်း) ရရှိရန်အသုံးပြုသည်။ ဤနည်းလမ်းသည်ကလေး node များသို့မဟုတ်တိကျသောအညွှန်းကိန်းဖြင့်ကလေး node များသို့မဟုတ်ကလေး node တစ်ခုသို့ပြန်ပို့သည်။
<span><span><span class="hljs-tag"><<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>>
</span><span><span class="hljs-tag"><<span class="hljs-name">p</span></span></span><span>>ပထမစာပိုဒ်</span><span><span class="hljs-tag"></<span class="hljs-name">p</span></span></span><span>>
</span><span><span class="hljs-tag"><<span class="hljs-name">p</span></span></span><span>>အပိုဒ် 2</span><span><span class="hljs-tag"></<span class="hljs-name">p</span></span></span><span>>
</span><span><span class="hljs-tag"><<span class="hljs-name">span</span></span></span><span>>တစ် span</span><span><span class="hljs-tag"></<span class="hljs-name">span</span></span></span><span>>
</span><span><span class="hljs-tag"></<span class="hljs-name">div</span></span></span><span>>
</span></span>
သင်ပထမ ဦး ဆုံးစာကြည့်တိုက်ကို 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>
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">'<div id="content"><p>ပထမစာပိုဒ်</p><p>အပိုဒ် 2</p><span>တစ် span</span></div>'</span></span><span>);
</span></span>
<span><span><span class="hljs-variable">$div</span></span><span> = </span><span><span class="hljs-variable">$html</span></span><span>-></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>-></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>->tag . </span><span><span class="hljs-string">': '</span></span><span> . </span><span><span class="hljs-variable">$child</span></span><span>->innertext . </span><span><span class="hljs-string">"<br>"</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 များရရှိရန်နည်းလမ်းများကိုလည်း parameter ကိုလက်ခံနိုင်သည်။
<span><span><span class="hljs-variable">$firstChild</span></span><span> = </span><span><span class="hljs-variable">$div</span></span><span>-></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>->tag; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း: p</span></span><span>
</span></span>
ကလေးများ () ကသာကလေး element node များသာဖြစ်သည်။ စာသား node များသို့မဟုတ်မှတ်ချက်များမဟုတ်ပါ။
သားစဉ်မြေးဆက် node များအားလုံးကိုဖြတ်သန်းရန် (ကလေးသူငယ်များသာမဟုတ်ဘဲ) ကိုသင်ရှာ နိုင်သည်။
ရိုးရှင်းသော အခါ External input ကိုကိုင်တွယ်သော HTML သည်လုံခြုံမှုရှိပြီး XSS သို့မဟုတ်အခြားဆေးထိုးရန်အန္တရာယ်များကိုရှောင်ရှားရန်သေချာစေပါ။
ကလေးများအားအသုံးပြုပါ (HTML element အောက်ရှိ html element တစ်ခုအောက်ရှိကလေး node များအားလုံးကိုအလွယ်တကူရယူနိုင်ရန်အတွက် ကလေးများ () function ကိုသုံးပါ။ Smart_Html_Dy နှင့်ပေါင်းစပ်ပြီးရှုပ်ထွေးသော HTML စာရွက်စာတမ်းများကိုလျင်မြန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်ပြီးဖွံ့ဖြိုးရေးထိရောက်မှုကိုများစွာတိုးတက်စေသည်။ ပိုမိုခိုင်မာသည့် Dom စစ်ဆင်ရေးစွမ်းရည်လိုအပ်သည့်ဖြစ်ရပ်များအတွက်ဖြစ်ရပ်များအတွက် PHP တွင် built-in domdocument class ကိုနားလည်ရန်အကြံပြုသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
HTML