एंकर में php dom change nodeValue

मैं नोडवेल्यू को बदलने की कोशिश कर रहा हूं और इसे परिवर्तनीय में सहेज रहा हूं (या इसे प्रिंट करें)

$html = '<html><body>
          some a
          some b
         </body></html>'; 
libxml_use_internal_errors(true); //ignore malformed HTML
$xml = new DOMDocument();
$xml->loadHTML($html);
foreach($xml->getElementsByTagName('a') as $link) {
    $link->nodeValue = $link->nodeValue . ' --- ' . $link->getAttribute('href');
}

print_r($html);

प्रिंट करना चाहिए

<html><body>
 some a --- a.html
 some b --- b.html
</body></html>

लेकिन यह नहीं होगा। मैं क्या गलत कर रहा हूं?

0
यह पूर्व $ एचटीएमएल प्रिंट करता है (परिवर्तन के बिना)
जोड़ा लेखक peter, स्रोत
इसके बजाय यह क्या प्रिंट करता है?
जोड़ा लेखक SamV, स्रोत

1 उत्तर

आप वास्तव में $ html बदल नहीं रहे हैं, आप अपना DomDocument चर $ xml बदल रहे हैं। के बजाय

print_r($html);

आपको:

echo $xml->saveHTML()
1
जोड़ा
हाँ echo $ xml-> saveHTML() बदली गई सामग्री मुद्रित करेगा, लेकिन मैं प्रिंट के बजाय इसे चर में कैसे स्टोर कर सकता हूं?
जोड़ा लेखक peter, स्रोत
$ html = $ xml-> saveHTML ();
जोड़ा लेखक peter, स्रोत