Bir sınıfta saveHTML() döndüren çeşitli işlevler var. SaveHTML() sınıfında birden fazla işlevi ekledikten sonra, HTML'nin bir kısmını tekrarlar. Bunu başlangıçta saveHTML ($ node) yaparak çözdüm ama şimdi bir seçenek görünmüyor.
SaveHTML'nin ($ domnode) sadece PHP 5.3.6'da mevcut olduğunu bilmiyordum ve sunucu üzerinde herhangi bir kontrole sahip olmadığım için dosyaları şimdi yükledim ve PHP 5.2 ile uyumlu hale getirmeliyim. Basitçe anlatmak gerekirse
o sadece benim problem göstermek için bu şuna benzer:
<?php
class HTML
{
private $dom;
function __construct($dom)
{
$this->dom = $dom;
}
public function create_paragraph()
{
$p = $this->dom->createElement('p','Text 1.');
$this->dom->appendChild($p);
return $this->dom->saveHTML();
}
public function create_paragraph2()
{
$p = $this->dom->createElement('p','Text 2.');
$this->dom->appendChild($p);
return $this->dom->saveHTML();
}
}
$dom = new DOMDocument;
$html = new HTML($dom);
?>
<html>
<body>
<?php
echo $html->create_paragraph();
echo $html->create_paragraph2();
?>
</body>
</html>
Çıkışlar:
<html>
<body>
<p>Text 1.</p>
<p>Text 1.</p><p>Text 2.</p>
</body>
ben yine oluyor bir fikrim var ama hiç bir fikrim var saveHTML ($ domnode) olmadan tekrar yapılmaması. PHP 5.2 ile düzgün çalışmasını nasıl sağlayabilirim?
İşte yapmak mümkün istiyorum ne bir örnek:
Ne yapmamhttp://codepad.viper-7.com/o61DdJ
Tabanlı gibi kadarıyla bir DOM şey olacak, DOMDocument 'j için yanlış bir araç olabilir ob. Doğrulanmış çıktıyı isterseniz, XMLWriter'i kullanabilirsiniz. XMLWriter 5.2'de kullanılabilir. Bkz. Http://www.php.net/manual/en/book.xmlwriter.php – jmz