Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problema caratteri

  1. #1

    problema caratteri

    Ciao,
    creo un file xml da script php per essere letto da un actionscript che genera un testo.
    Purtroppo se inserisco un carattere slash (/) va in tilt e non me lo prende.

    e il codice è questo:
    <?php
    $filename = "../../eng/xml/banner.xml"; //file xml da creare
    $didascalia="Summer 2008/2009"; //testo da inserire
    //creo il file
    $new_file.="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
    $new_file.="<banner>\n";
    $new_file.="<item>\n";
    $new_file.="<name>$didascalia</name>\n";
    $new_file.="</item>\n";
    $new_file.="</banner>\n";

    // apro il file xml in lettura/scrittura
    if (!$handle = fopen($filename, 'a+')) {
    chmod($new_file, 0777); // ottale; valore corretto di mode (preceduto da uno 0)
    exit;
    }
    // Scrivo nel file aperto.
    if (!fwrite($handle, $new_file) ===FALSE) {
    //echo "Per qualche ragione non è stato possibile effettuare l'aggiornamento!";
    //exit;
    }else{
    }
    fclose($handle);

    ?>

    Qualche aiuto?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Prova a cambiare :

    codice:
    $new_file.="<name>$didascalia</name>\n";
    in
    codice:
    $new_file.="<name>".addslashes($didascalia)."</name>\n";
    Questa funzione aggiunge il carattere di escape \ davanti ad ogni carattere speciale, non so se esiste una funzione in actionscript per rimuovere in automatico questi backslash (in php si chiama stripslashes)

    attenzione anche a eventuali entità html, tipo &euro; che in un xml potrebbero creare problemi..

    In tal caso usa

    codice:
    $new_file.="<name><![CDATA[".$didascalia."]]></name>\n";
    Credo che in questo caso l'escape non sia necessario, ma non ne sono sicuro..

    ciao

  3. #3
    Modifica la riga:
    $new_file.="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
    in
    $new_file ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";

    Poi, che cosa va "in tilt"? Il PHP o ActionScript?

  4. #4
    grazie a tutti delle indicazioni.
    L'errore era un altro (molto banale). Nel box predisposto in actionscript dal collega, mentre winter 2008/2009 ci stava in lunghezza , summer 2008/2009 non ci stava e veniva tagliato.

    scusate e grazie

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.