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

    Convertire caratteri speciali

    Salve,
    devo sostituire in una stringa i caratteri speciali con i rispettivi codici html.
    I codici che voglio ottenere sono del tipo: %#123; %#100; ecc..
    Come posso fare? esiste una funzione apposita?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    Puoi utilizzare la funzione htmlspecialchars, converte i caratteri speciali in entità HTML.

    http://it2.php.net/manual/en/function.htmlspecialchars.php

  3. #3
    se utilizzo htmlspecialchar, salvando su xml con simplexml mi da due errori..


    Warning: SimpleXMLElement::addAttribute() [simplexmlelement.addattribute]: string is not in UTF-8 in C:\Program Files\...

    Warning: SimpleXMLElement::asXML() [simplexmlelement.asxml]: output conversion failed due to conv error, bytes 0xE8 0x22 0x20 0x64 in C:\...

    sia il file php che quello xml sono ISO-8859-1.

    Come mai mi fa così?

  4. #4
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    puoi farmi vedere la porzione di codice dove hai inserito la funzione di php htmlspecialchars ?

  5. #5
    Codice PHP:
        $xml simplexml_load_file('news.xml'); 

        
    $titleSalvaNews htmlspecialchars($titleSalvaNewsENT_QUOTES);

        
    $nuovo $xml->addChild('item'); 

        
    $nuovo->addAttribute('title'$titleSalvaNews);

        
    file_put_contents("news.xml"$xml->asXML()); 

  6. #6
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    prova così:

    Codice PHP:
     $titleSalvaNews htmlspecialchars($titleSalvaNewsENT_QUOTES,"ISO8859-15"); 
    Altra cosa, sicuro che sono caratteri speciali?

  7. #7
    Mi da gli stessi errori..

    Io per caratteri speciali intendo à è ì ò ù ecc..

    Pensavo ad un'altra soluzione.. potrei estrapolare il numero corrispondente del codice asci ed modificare così: &# codice ; manualmente.
    Solo che dovrei trovare farlo solo per i caratteri speciali..

  8. #8
    Sono disperato.. sono due settimane che son piantato per questa storia.. solo voi potete aiutarmi..

    Ho due possibilità per far girare il tutto:

    1. Attraverso php scrivere su file xml con i caratteri speciali belli puliti, senza codifica.
    Non so se è possibile.. io non ci son riuscito.

    2. Attraverso php codificare i caratteri accentati nella forma { ecc.. e salvarli su xml.

    Tutto questo perchè sono legato dal fatto che il mio xml dev'essere letto da un swf che legge in quei due modi..

    Confido in voi!

  9. #9
    help me!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    l'avevo già consigliato
    fai una funzione apposta per sostuire i caratteri con la loro entità apposita:
    Codice PHP:
    function replace_special_chars($value)
    {
    $string = array('ò''à');
    $replace = array('ò''à');
    return 
    str_replace($string$replace$value);

    seguendo lo schema di http://www.w3schools.com/tags/ref_entities.asp

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.