Bir php DOMDocument XML dizesi almak nasıl

0 Cevap php

Exemple, i DOMDocument gibi oluşturun:

<?php

$implementation = new DOMImplementation();

$dtd =
  $implementation->createDocumentType
  (
    'html',                                     // qualifiedName
    '-//W3C//DTD XHTML 1.0 Transitional//EN',   // publicId
    'http://www.w3.org/TR/xhtml1/DTD/xhtml1-'
      .'transitional.dtd'                       // systemId
  );

$document = $implementation->createDocument('', '', $dtd);

$elementHtml     = $document->createElement('html');
$elementHead     = $document->createElement('head');
$elementBody     = $document->createElement('body');
$elementTitle    = $document->createElement('title');
$textTitre       = $document->createTextNode('My bweb page');
$attrLang        = $document->createAttribute('lang');
$attrLang->value = 'en';

$document->appendChild($elementHtml);
$elementHtml->appendChild($elementHead);
$elementHtml->appendChild($attrLang);
$elementHead->appendChild($elementTitle);
$elementTitle->appendChild($textTitre);
$elementHtml->appendChild($elementBody);

Yani, şimdi, ben bu gibi bazı xhtml dize varsa:

<?php
$xhtml = '<h1>Hello</h1><p>World</p>';

Benim DOMDocument in How can i import it in the <body> düğüm?

Şimdilik, ben buldum tek çözüm, böyle bir şey:

<?php
$simpleXmlElement = new SimpleXMLElement($xhtml);

$domElement = dom_import_simplexml($simpleXmlElement);

$domElement = $document->importNode($domElement, true);

$elementBody->appendChild($domElement);

Bu çözüm benim için çok kötü görünüyor, ve ben böyle bir dize ile çalıştığınızda gibi bazı problemes oluşturmak:

<?php
$xhtml = '<p>Hello&nbsp;World</p>';

Tamam, ben Unicode kuruluşlarda xhtml varlıkları dönüştürerek bu sorunu atlayabilir, ama o kadar çirkin ki ...

Herhangi bir yardım?

Teşekkür peşin!

İlgili soru:

0 Cevap