मेरे पास कक्षा में कई फ़ंक्शन हैं जो saveHTML() को वापस लौटाते हैं। कक्षा saveHTML() में एक से अधिक फ़ंक्शन को प्रतिबिंबित करने के बाद, यह कुछ HTML को दोहराता है। मैंने शुरुआत में इसे सेव HTML ($ नोड) करके हल किया लेकिन यह अब एक विकल्प प्रतीत नहीं होता है।
मुझे नहीं पता था कि सेव HTML ($ 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>
मैं एक विचार क्यों हो रहा है, लेकिन मुझे पता नहीं है इसे बिना एचटीएमएल ($ domnode) के दोहराने के लिए कैसे दोहराना है। मैं PHP 5.2 के साथ इसे ठीक से कैसे काम कर सकता हूं?
यहाँ मैं क्या करने में सक्षम होना चाहता हूँ का एक उदाहरण है:
http://codepad.viper-7.com/o61DdJ
अपने उदाहरण के आधार पर है, जे के लिए 'DOMDocument' गलत उपकरण हो सकता है ओब। यदि आप मान्य आउटपुट चाहते हैं, तो आप XMLWriter का उपयोग कर सकते हैं। XMLWriter 5.2 में उपलब्ध है। Http://www.php.net/manual/en/book.xmlwriter.php – jmz