Creare una list di tags li utilizzando la classe DOMDocument di PHP

di il
3 risposte

Creare una list di tags li utilizzando la classe DOMDocument di PHP

Salve.

Per necessità di studio, in base ad un'applicazione particolare, vorrei sapere come comportarmi nell'applicare questa classe.

Ho creati in HTLM nella pagina ‘index2.html’ un tag ul, come di seguito:

      <ul id="riferimento"></ul>

Poi, tramite una pagina PHP (che chiamo tramite AJAX, ma questo non importa) sto cercando di compilare sotto una lista di li in base ai dati di un array.

Questo è quello che ho impostato:

<?php
header( "content-type: application/xml; charset=ISO-8859-15" );
$dom = new DOMDocument("1.0", "ISO-8859-15");
$dom->validateOnParse = true;
$dom->load("C:\Users\battaglia_b\Documents\ATOM\Varie\flat-modal-window\studio\index2.html");
$rif_id = $dom->getElementById('riferimento');
foreach ($names as $key => $value) {
  $el = $rif_id->createElement('li', $value . '<br>');
  $rif_id->appendChild($el);
}
echo $rif_id->saveXML()
 ?>

La routine non  funziona, dandomi la seguente warning:

Warning: DOMDocument::load(): I/O warning : failed to load external entity "file:/C:/Users/battaglia_b/Documents/ATOM/Varie%0Clat-modal-window/studio/index2.html" in relazione alla riga di codice 5 (dove è specificato il load della pagina).

Ho provato a inserire il percorso relativo, poi come nel caso descritto quello assoluto, ma l'errore persiste.

Dove sbaglio?

3 Risposte

  • Re: Creare una list di tags li utilizzando la classe DOMDocument di PHP

    06/10/2023 - BennyBatt ha scritto:


    La routine non  funziona, dandomi la seguente warning: […]

    Perché usare questo approccio e non semplicemente il classico HTML “inframezzato” (diciamo “potenziato” che è meglio) da PHP?

  • Re: Creare una list di tags li utilizzando la classe DOMDocument di PHP

    Beh, per 2 motivi: 

    1. Sto studiando questa classe di PHP, per capirne i problemi e l'efficacia.
    2. La routine in cui lavoro risponde ad una chiamata AJAX che crea già un altra stringa HTLM che poi viene gestita in JS. Quindi, per non incasinare ulteriormente il codice JS, pensavo di poter svolgere questa “semplice” compilazione direttamente in PHP

    Purtroppo, non riesco neppure a caricare la pagina HTML, con ogni evidenza. Non mi ci raccapezzo…

  • Re: Creare una list di tags li utilizzando la classe DOMDocument di PHP

    06/10/2023 - BennyBatt ha scritto:


    Sto studiando questa classe di PHP, per capirne i problemi e l'efficacia.

    Direi che non ne vedo l'efficacia, in questo contesto, ad ogni modo qui ci sono approfondimenti su come disabilitare ciò che nel parser restituisce l'errore, anche se mi pare pure roba deprecata, e in ogni caso - sottolineo di nuovo - non mi sembra utile allo scopo.

    06/10/2023 - BennyBatt ha scritto:


    La routine in cui lavoro risponde ad una chiamata AJAX che crea già un altra stringa HTLM che poi viene gestita in JS. Quindi, per non incasinare ulteriormente il codice JS, pensavo di poter svolgere questa “semplice” compilazione direttamente in PHP

    Continuo a non capire. Una chiamata AJAX in questi contesti dovrebbe ricevere in alternativa 1) dati, costruendo autonomamente gli elementi del DOM nella pagina in base alle informazioni ricevute, 2) markup, quindi HTML, e visto che si sta usando PHP, perché non si dovrebbe generare la pagina usando HTML+PHP, invece di usare PHP per caricare dell'HTML da interpretare e modificare lavorandolo come se fosse una pagina ben strutturata per ottenere infine l'HTML da restituire al client: inefficiente, superfluo, senza una utilità (secondo me), a meno che il mantra non sia “ok, cerchiamo problemi che non ci sono”. :)

Devi accedere o registrarti per scrivere nel forum
3 risposte