array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'domdocument.loadhtml.php', 1 => 'DOMDocument::loadHTML', ), 'up' => array ( 0 => 'class.domdocument.php', 1 => 'DOMDocument', ), 'prev' => array ( 0 => 'domdocument.load.php', 1 => 'DOMDocument::load', ), 'next' => array ( 0 => 'domdocument.loadhtmlfile.php', 1 => 'DOMDocument::loadHTMLFile', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/dom/domdocument/loadhtml.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
DOMDocument::loadHTML — HTML belgeyi bir dizgeden yükler
HTML belgeyi belirtilen dizgeden yükler. XML belge yüklemedeki gibi belgenin iyi biçemli olma gereği yoktur.
Bu işlev girdiyi HTML 4 ayrıştırıcı kullanarak ayrıştırır. Günümüz tarayıcılarının kullandığı HTML 5'in ayrıştırma kuralları farklıdır ve girdiye bağlı olarak farklı bir DOM yapısına neden olabilir. Bu nedenle bu işlevle HTML'yi arındırmak güvenli değildir.
Örnek olarak, bazı HTML öğeleri bir üst öğeyi örtülü olarak kapatacaktır. Ana öğelerin otomatik olarak kapatılmasına ilişkin kurallar HTML 4 ve HTML 5 arasında farklılık gösterir ve bu nedenle DOMDocument tarafından görülen sonuçtaki DOM yapısı, bir tarayıcının gördüğü DOM yapısından farklı olabilir ve muhtemelen bir saldırganın sonuçta ortaya çıkan HTML'yi bozmasına izin verebilir.
source
HTML belgeyi içeren dizge.
options
source
olarak boş bir dizge aktarılırsa bir uyarı
üretilir. Bu uyarıyı libxml üretmez ve libxml'in hata işlevleri ile elde
edilemez.
Bozuk bir HTML sayfa başarıyla yüklense bile bu işlev hatalı bir imlenim ile
karşılaştığında bir E_WARNING
iletisi üretebilir. Böyle
bir durumu atlatabilmek için
libxml'in hata
işleme işlevleri kullanılabilir.
Sürüm: | Açıklama |
---|---|
8.3.0 | Bu işlevin dönüş türü artık deneysel bool türünde. |
8.0.0 |
Bu işlevin duruk olarak çağrılması artık Error
oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.
|
Örnek 1 - Bir HTML belge oluşturmak
<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>