Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Conoscere il numeto delle lettere

    Ciao, ho la necessità di sapere quante lettere sono presenti in un file di testo, escludendo caratteri speciali come ( ) } | ! " £ $ ecc, tabulazioni ed invii. Ho fatto in questo modo, con la funzione file() lo leggo, faccio un implode del risultato e poi faccio un str_replace per ogni carattere che devo eliminare compresi \t \n \r poi per stampare il valore utilizzo strlen(), ma in qusto modo non mi restituisce il numero esatto, perchè se metto una lettera sola, mi restituisce 4, invece dovrebbe essere 1, poi non tutti i caratteri speciali mi vengono eliminati.
    Qualcuno conosce il motivo, oppure un'altra soluzione?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Penso che così sia meglio:

    codice:
      $handle = fopen("testo.txt","r");
      $wholetext = fread($handle, filesize("testo.txt"));
      $rippedtext = preg_replace("/\W/","", $wholetext);
      fclose($handle);
    in $rippedtext hai una stringa con tutto il testo senza caratteri "strani", punteggiatura e interruzioni di linea, tabulazioni e spazi.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Originariamente inviato da Andrea1979
    Penso che così sia meglio:

    codice:
      $handle = fopen("testo.txt","r");
      $wholetext = fread($handle, filesize("testo.txt"));
      $rippedtext = preg_replace("/\W/","", $wholetext);
      fclose($handle);
    in $rippedtext hai una stringa con tutto il testo senza caratteri "strani", punteggiatura e interruzioni di linea, tabulazioni e spazi.
    Funziona esattamente come il mio, lascia alcuni caratteri. Ho notato che il carattere £ e ° vengono lasciati.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    A me non lascia quei caratteri. Su che versione di PHP stai?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Originariamente inviato da Andrea1979
    A me non lascia quei caratteri. Su che versione di PHP stai?
    L'ho provato su 5.1.1 e su 4.4.2, sempre lo stesso problema. Altre soluzioni?
    Io ho provato anche questo,
    Codice PHP:
    echo system('find . -type f -exec cat {} \; | wc',$val);
        echo 
    $val
    ma non restituisce il valore corretto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non lo so, io ho la 5.2.1 che dovrebbe essere l'ultima disponibile.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Forse c'è qualcosa nella lettura dei file, perchè i caratteri strani come £° li legge in modo errato, in pratica riporta questo â£&â° e forse per questo motivo che non vengono contati correttamente i caratteri. Eppure il file il file di testo è salvato con utf8

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.