Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Problema caratteri

  1. #1

    Problema caratteri

    Ciao a tutti, ho un tabella UTF8_general_ci

    nella quale sono presenti simboli come & è , à ...

    ho notato che quando cerco di generare un XML (che con altre tabelle funzionavano ottengo)

    Warning: SimpleXMLElement::addChild() [simplexmlelement.addchild]: unterminated entity reference Pizza in /var/www/domain.com/xmlfeed.php on line 164


    nel mio codice ho qualche cosa del tipo:

    $aaa->addChild('date', strip_tags(utf8_encode($row{'Date'})) );
    $aaa->addChild('title', strip_tags(utf8_encode($row{'Title'})) );


    Cosa sbaglio?? Cosa devo modificare nel codice??

    Grazie infinite!!!
    Iceberg

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    all'interno di un array si usano le quadre, non le graffe, le graffe si usano per navigare all'interno di una stringa.

    comunque controlla l'output di quelle due stringhe con un var_dump e assicurati che l'utf8_encode stia facendo il suo dovere.
    sometimes it's just like teaching pigs how to fly

  3. #3
    non credo sia un problema di parentesi in quanto con un altro DB funzionava perfettamente... cmq seguo il tuo suggerimento e cambio

    per quanto riguarda la variabile, invece... cosa dovrei fare esattamente?
    Iceberg

  4. #4
    Ho fatto un var_dumo dell'intero contenuto

    echo var_dump(strip_tags(utf8_encode($row{'Title'})));


    visualizzo il tipo string(numero caratteri) ed il testo

    sembra che i problemi ci siano sempre e solo quando trova il simbolo &

    cosa posso fare???


    in ogni caso la mia logica

    strip_tags(utf8_encode($row{'Title'})))

    è corretta??
    Iceberg

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    è una questione di codice pulito, gli array si usano con le quadre, rischi problemi sennò con successive versioni di php... è giusto imparare a fare le cose correttamente...

    comunque prova a mettere la stringa all'interno di un nodo CDATA, così non dovresti avere problemi
    sometimes it's just like teaching pigs how to fly

  6. #6
    Originariamente inviato da nickcv
    comunque prova a mettere la stringa all'interno di un nodo CDATA, così non dovresti avere problemi
    Mi fai un esempio??

    Grazie
    Iceberg

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    in un xml un CDATA può contenere qualsiasi tipo di carattere, compresi maggiore e minore, rendendoti così inutile l'utilizzo di uno strip_tags

    http://php.net/manual/en/domdocument...atasection.php
    sometimes it's just like teaching pigs how to fly

  8. #8
    Ho guardato il tuo link ma non capisco nel mio XML dove inserire il CDATA

    $sss->addChild('date', strip_tags(utf8_encode($row['Date'])) );
    $sss->addChild('title', strip_tags(utf8_encode($row['Title'])) );

    Grazie
    Iceberg

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    usa domdocument, simplexml non mi risulta che possa inserire campi di tipo CDATA

    l'alternativa, se vuoi ignorare domdocument e continuare ad utilizzare il tuo metodo, che ti costringe all'eliminazione dei tag, crea una funzione che sostituisca le varie entità con i rispettivi caratteri, oppure elimina semplicemente le e commerciali dalla stringa.
    sometimes it's just like teaching pigs how to fly

  10. #10
    Originariamente inviato da nickcv
    usa domdocument, simplexml non mi risulta che possa inserire campi di tipo CDATA

    l'alternativa, se vuoi ignorare domdocument e continuare ad utilizzare il tuo metodo, che ti costringe all'eliminazione dei tag, crea una funzione che sostituisca le varie entità con i rispettivi caratteri, oppure elimina semplicemente le e commerciali dalla stringa.

    ho provato a cambiare

    $XML = new SimpleXMLElement("<locations></locations>");

    con

    $XML = new DOMDocument("<locations></locations>");


    e poi cambiare addChild con appendChild

    niente.... mi perdo nella modifica non avendolo mai usato ((
    Iceberg

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.