Portál AbcLinuxu, 9. května 2025 21:53
$html = //promena obsahuje cely html kod z php $doc = new DOMDocument(); $doc->loadHTML($html); $doc->formatOutput = true; $doc->encoding = 'UTF-8'; echo $doc->saveHTML();Pokud vypíšu echem promnou $html primo, je vse v poradku. Dekuji za pomoc
$html = '<!DOCTYPE html>'; $html .= '<html lang="cs">';cili nemam obsah stranek v xml. Nejaky napad? Diky
echo $xsl->transformToXML($doc);protože v $doc mám DOM výstupních dat a v $xsl je výstupní šablona. XML ani HTML v PHP vůbec nevytvářím, protože by to dost zdržovalo.
XML ani HTML v PHP vůbec nevytvářím, protože by to dost zdržovalo.Muzes to prosim upresnit? Diky
$html
, parsovat loadHTML()
a hned zase serializovat saveHTML()
. To je spousta zbytečných úkonů navíc. Máš k tomu nějaký speciální důvod?
XMLwriter
generuje celkem snadno docela hezký kód. Tohle jsou pozůstatky z mých experimentů s REST, kde jsem si ověřil, že HTML umí jen GET a POST. Kdyby to měl být produkční kód, asi bych to napsal slušněji.
Tohle dělám, když z nějakého důvodu nechci použít šablonu. Kód z velké části recykluji. Určitě to lze napsat lépe. Vyzkoušej si to.
<?php $method= $_SERVER['REQUEST_METHOD']; $html = new XMLwriter(); $html->openMemory(); $html->setIndent(true); $html->writeDTD('html'); $html->startElement('html'); $html->startElement('head'); $html->startElement('meta'); $html->writeAttribute('charset', 'UTF-8'); $html->endElement(); $html->startElement('script'); $html->writeAttribute('type', 'application/javascript'); $html->writeAttribute('src', 'jquery-latest.min.js'); $html->text(''); $html->endElement(); $html->startElement('script'); $html->writeAttribute('type', 'application/javascript'); $html->text(<<<EOT $(document).ready(function() { $('h1').css({'background-color': 'yellow'}); $.ajax({context: document.body}).done(function()) { $(this).css({'background-color': 'blue'}); } }); EOT ); $html->endElement(); $html->endElement(); $html->startElement('body'); $html->writeElement('h1', $method); $html->writeElement('p', 'Příšerně žluťoučký kůň úpěl ďábelské ódy'); $html->writeElement('p', 'Výrobek "hysterezní smyčka" prodává firma <Albert&syn>'); foreach (array( "GET", "POST", "PUT", "DELETE", "PATCH") as $method) { $html->startElement('form'); $html->writeAttribute('method', $method); $html->startElement('input'); $html->writeAttribute('type', 'text'); $html->writeAttribute('value', $method); $html->endElement(); $html->startElement('input'); $html->writeAttribute('type', 'submit'); $html->writeAttribute('value', 'Odeslat'); $html->endElement(); $html->endElement(); } $html->endElement(); $html->endElement(); echo $html->flush();
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.