Gå til innhold

Hindre SimpleXML i å fjerne HTML!


Anbefalte innlegg

Videoannonse
Annonse

Hei igjen :)

Svaret er enkelt. Du må nesten bruke DOM.

 

Vi kan ta utgangspunkt i den forrige klassen jeg viste deg, og så legge til en metode som heter addHtml / addXml (alt etter hvor strict du vil ha det).

 

Vanligvis ville man putte html i en cdata seksjon, men hvis du absolutt vil putte html i xml-strukturen, så skal ikke jeg stoppe deg :) Her har du i alle fall begge valgene...

 

PHP
<?php

class mySXML extends simpleXMLElement {

 

public function addCdata($cdata) {

$domNode dom_import_simplexml($this);

$cdata $domNode->ownerDocument->createCDATASection($cdata);

$domNode->appendChild($cdata);

}

 

public function addHtml($html) {

$htmlDoc = new DOMDocument();

$htmlDoc->loadHTML($html);

$domNode dom_import_simplexml($this);

$html $domNode->ownerDocument->importNode($htmlDoc->documentElementtrue);

$domNode->appendChild($html);

}

}

 

$sxml simplexml_load_string('<root/>','mySXML');

$sxml->addHtml('<html><head></head><body><h1>Hurra</h1></body></html>');

echo $sxml->asXML();

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...