Visualizzazione risultati 1 fino 9 di 9

Discussione: convertire testo

  1. #1
    Guest

    Predefinito convertire testo

    Io ho un file con 237626 caratteri. Alcuni di questi sono: ' " & ...
    io dovrei convertirli nelle entità html per inserirle in un database in quanto se le inserisco normalmente certi caratteri cambiano.
    Per esempio € diventa "à,—".
    Io ho provato a usare questo script ma con scarsi risultati
    Codice PHP:
    $filename = "CC-WEB.xml";
    $aperto = fopen($filename, 'rb');

    if (
    $aperto == false){
    echo
    '<br /><br/>';
    die(
    '<h3 style="color:FF0000;">Errore nell&apos;apertura del file. Riprovare a lanciare lo script.</h3>');

    }

    $contents = fread($aperto, filesize($filename));
    fclose($aperto);
    $lunghezza = strlen($contents);
    $i = 0;
    while (
    $i < $lunghezza){

    switch(
    $contents[$i]){
    case
    "’":
    $tmp = $tmp."&apos;";
    break;
    case
    "à":
    $tmp = $tmp."&agrave;";
    break;
    case
    "è":
    $tmp = $tmp."&egrave;";
    break;
    case
    "é":
    $tmp = $tmp."&eacute;";
    break;
    case
    "ì":
    $tmp = $tmp."&igrave;";
    break;
    case
    "ù":
    $tmp = $tmp."&ugrave;";
    break;
    case
    "\"":
    $tmp = $tmp."&quot;";
    break;
    case
    "€":
    $tmp = $tmp."€";
    break;
    default:
    $tmp = $tmp.$contents[$i];
    }
    $i = $i+1;
    }

    echo
    $tmp;
    Lo script non va a termine perchè
    Codice:
    Fatal error: Maximum execution time of 30 seconds exceeded in /Users/emac/Sites/sirio/converti.php on line 19
    dove la linea 19 è quella con il primo case.

  2. #2
    Guest

    Predefinito

    Se fai una ricerca trovi delle soluzioni, se ne è parlato più volte.
    Il tuo metodo è del tutto inusabile in questo caso (infatti va in loop e si pianta) ;)


    Ciaoooooo!!!!!!!

  3. #3
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se devi solo sostituire i caratteri e stampare il file con i caratteri sostituiti prova così:
    Codice PHP:
    $filename = "CC-WEB.xml";

    if (!
    file_exists($filename)){
    echo
    '<br /><br/>';
    die(
    '<h3 style="color:FF0000;">Errore nell&apos;apertura del file. Riprovare a lanciare lo script.</h3>');
    }

    $righe=file($filename);
    for(
    $i=0;$i<count($righe);$i++) {
    $righe[$i]=str_replace("’","&apos;",$righe[$i]);
    $righe[$i]=str_replace("à","&agrave;",$righe[$i]);
    $righe[$i]=str_replace("è","&egrave;",$righe[$i]);
    $righe[$i]=str_replace("é","&eacute;",$righe[$i]);
    $righe[$i]=str_replace("ì","&egrave;",$righe[$i]);
    $righe[$i]=str_replace("ù","&ugrave;",$righe[$i]);
    $righe[$i]=str_replace("\"","&quot;",$righe[$i]);
    $righe[$i]=str_replace("€","€",$righe[$i]);

    echo
    $righe[$i];
    }
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  4. #4
    Guest

    Predefinito

    Non capisco...
    Ho usato il tuo codice funziona (ma non nel mio caso).

    Questo è una linea del file di testo originale
    Codice:
    MONOLOCALE con taverna, giardino, garage e cantina, mq 37 € 87.000;
    eseguo questa linea php

    Codice PHP:
    while (...){
    $k = $k+1;
    $val = $val.$tmp[$k];


    }
    dove in while ho la lunghezza della stringa, e ricevo in output
    Codice:
    MONOLOCALE con taverna, giardino, garage e cantina, mq 37 € 87.000;
    provo ad usare il tuo codice modificando "€" con "€", ma niente da fare...resta sempre uguale
    non capisco proprio

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a sostituire € con il suo codice: &euro;.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  6. #6
    Guest

    Predefinito

    non credo funzioni, la stessa cosa me la dà con ù che diventa "ù"

    un esempio semplice
    Codice:
    <?
    $tmp = "37 € 87.000;";
    $k = 0;
    while ($k < 13){
                    $k = $k+1;
                    $val = $val.$tmp[$k];
                
                    
    }  
    $val = str_replace("Û", "&euro;", $val);	
    echo $val;
    ?>
    Ultima modifica di sql : 28-04-2006 alle ore 11.09.20

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a scrivere l'intestazione del codice HTML, dovrebbe essere quello il problema.

    EDIT: Ma perché usi quel ciclo che non serve?
    Ultima modifica di funcool : 28-04-2006 alle ore 11.12.06
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    Guest

    Predefinito

    Codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
    <body>
    
    <?
    $tmp = "37 € 87.000;";
    $k = 0;
    while ($k < 13){
                    $k = $k+1;
                    $val = $val.$tmp[$k];
                
                    
    }  
    $val = str_replace("Û", "&euro;", $val);	
    echo $val;
    ?>
    </body>
    </html>
    sempre lo stesso errore. Che charset uso se devo inserire su un db mysql?

  9. #9
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da sql
    Che charset uso se devo inserire su un db mysql?
    Sui database non ho mai modificato il charset perché non ho mai avuto problemi di questo tipo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •