У меня есть несколько функций в классе, которые возвращают saveHTML ().После того, как я отобразил более одной функции в классе saveHTML (), он повторяет некоторые HTML.Сначала я решил эту проблему, выполнив saveHTML ($ node), но сейчас это не представляется возможным.
Я не знал, что saveHTML ($ domnode) был доступен только в PHP 5.3.6, и у меня естьнет контроля над сервером, на который я загружал файлы, поэтому теперь я должен сделать его совместимым с PHP 5.2.
Для простоты и только для того, чтобы показать мою проблему, он выглядит примерно так:
<?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>
Выходы:
<html>
<body>
<p>Text 1.</p>
<p>Text 1.</p><p>Text 2.</p>
</body>
У меня есть идея, почему это происходит, но я понятия не имею, как не заставить это повториться без saveHTML ($ domnode).Как я могу заставить его работать должным образом с PHP 5.2?
Вот пример того, что я хочу сделать:
http://codepad.viper -7.com / o61DdJ