Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Indentare HTML... in PHP!

    Ciao a tutti, ho un problema.

    Ho uno script che mi popola una pagina con articoli presi da un db. La stampa degli articoli avviene non direttamente da PHP ma, aprendo e chiudendo il cod PHP, direttamente in HTML. La pagina viene in seguito aperta da un editor HTML quale FCKEditor (su cui ho avuto modo di bestemmiare tante di quelle volte...)...

    Quando vado a visualizzare il codice della pagina creata (da dentro l'editor) vedo che la zona creata con la stampa degli articoli non presenta alcuna forma di indentazione nè rimandi a capo - è in pratica un flusso continuo di codice su una singola riga - mentre il resto del documento è indentato.



    Ma che cazzo è?! Da che dipende?! Ho provato anche a inserire \n \t \r in tutte le salse e forme ma il risultato non cambia. Perchè?!?!?!!?

    HEEEEEEEEEEEEEELP!!!

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Evidentemente l'editor se la formatta come pare a lui.
    Embè?

  3. #3
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    L'importante è che il codice sia corretto...la formattazione conta zero...il browser interpreta l'HTML sia che sia tutto in una riga, sia che sia ben formattato.


  4. #4
    potresti far passare il codice sotto la tinylib (o tinyhtml) in modo che ti venga reindentato e corretto pure
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    deludo entrambi: il codice html (assolutamente simile) prima della parte dinamica non viene assolutamente toccato e non capisco come poi dopo debba toccare la parte stampata in php;

    il problema è che questo codice creato viene spedito via email e, sorpresa, essendo tutto su una riga, che ne so, alcuni tag vengono tagliati con effetto "sbudellamento" della pagina.

    Daniele, provo a cercare il tiny...

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da cemsal
    deludo entrambi: il codice html (assolutamente simile) prima della parte dinamica non viene assolutamente toccato e non capisco come poi dopo debba toccare la parte stampata in php;
    Capito niente

    Originariamente inviato da cemsal
    il problema è che questo codice creato viene spedito via email e, sorpresa, essendo tutto su una riga, che ne so, alcuni tag vengono tagliati con effetto "sbudellamento" della pagina.
    Per questo probabilmente potrebbe aiutarti l'uso di phpmailer (google! )

  7. #7
    cerco di ottimizzare la domanda:

    ho un editor html (FCKeditor) che carica una pagina html per poi spedirla via mail ad un indirizzario. E' un classico sistema di newsletter.

    Bene, la pagina in realtà non è html ma php, e quando viene caricata nell'editor, viene presentata già processata, nel senso che il code php ha già prodotto l'html relativo.

    L'html "fisso" di contorno a quello creato dinamicamente viene visualizzato nell'editor correttamente indentato, mentre quello dinamico è messo come un flusso continuo su una sola riga. Anche se illegibile, tutto l'html è però CORRETTO.

    (anche se metto nella stampa del php vari \n o altri caratteri di tabulazione, spazio, indentatura, il risultato non cambia: stampa tutto il codice come un flusso continuo su una sola riga)

    Quando vado ad inviare la mail creata, la mail viene inviata quindi con il codice così come sopra descritto. E qui sta l'inghippo.
    LA LUNGA RIGA CONTENENTE TUTTA LA PARTE PRECEDENTEMENTE CREATA DAL PHP, VIENE SPEZZATA QUANDO VISUALIZZO LA MAIL DAL CLIENT DI POSTA. Con effetti particolari in quanto è spezzata anche nel bel mezzo di un tag, per esempio. Nel senso che ho <S
    e a capo TRONG> e questo, il mio Outlook, lo interpreta come un <s> (cioè un tag strike!).

    Mi domando quindi, la funzione mail spezza automaticamente righe troppo lunghe in varie sottorighe e con quali criteri?! Oppure è il client di posta che effettua questa operazione?!

    In ogni caso vorrei risolvere a priori (inviando già in partenza un codice indentato bene), ma non trovo soluzione, nel senso che anche se intervengo sul codice PHP dinamico, come detto prima, inserendo caratteri di indentatura, lui se ne infischia.

    Avete mai riscontrato un problema del genere?! Suggerimenti?!
    Ovvio che potrei cambiare sistema di invio, però magari non risolverei...

    ???

  8. #8
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    invece di usare codice cosi:

    Codice PHP:
    <?php
    for($i=0;$i<10;$i++)
    {
        print(
    "<div>$i</div>");
    }
    ?>
    fallo cosi:

    Codice PHP:
    <?php
    for($i=0;$i<10;$i++)
    ?>
        <div><?php print($i); ?></div>
    <?php 
    }
    ?>
    e vedrai che la tabulazione viene rispettata


  9. #9
    Ti ringrazio, ma...
    Codice PHP:
        <? $sql="SELECT notizie.*, categorie_giornali.* FROM notizie, categorie_giornali WHERE notizie.id_giornale='$id_giornale' AND notizie.id_categoria_giornale=categorie_giornali.id_categoria_giornale AND notizie.Online='1' ORDER BY categorie_giornali.categoria_giornale, notizie.titolo";
        
    $result=mysql_query($sql$link) or die($sql.mysql_error());
        
    $quanti=mysql_num_rows($result);
        if (
    $quanti) { ?> 
        <? while($rows=mysql_fetch_assoc($result)) { ?> 
            <? if ($categoria_giornale!=$rows["categoria_giornale"])
            echo 
    "[b]".strtoupper($rows["categoria_giornale"])."[/b]
    "
    ?> 
            <a href="/notizia.php?IDNotizia=<?=$rows["IDNotizia"];?>&amp;IDCategoria=<?=$rows["IDCategoria"];?>" class="blu">[b] 
            <?=$rows["Titolo"];?>[/b]</a>
     
            <?=$rows["Descrizione"];?> 
            
     
            
     
            <?
            
    // operazioni di fine ciclo
            
    $categoria_giornale=$rows["categoria_giornale"];
        } 
    ?>
    come vedi già adotto una soluzione simile (con apertura e chiusura del php)...
    e quindi non so che dire, non funziona neppure così...

  10. #10
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Molto strano...ma anche stampandola a video da lo stesso problema? (guardando il codice sorgente della pagina intendo).

    Non vorrei che fosse un problema del tuo parser HTML che poi manda il corpo della mail.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.