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

    conteggio linee con condizione

    Ciao a tutti,
    vi spiego il mio problema:
    ho una text area all'interno della quale inserisco dei valori:
    codice:
    <textarea name="pippo" id="pippo" rows="5" cols="30"></textarea>
    adesso in una pagina php vado a conteggiare quante linee sono state inserite in questa textarea:
    Codice PHP:
    $textarea $_POST['pippo'];
    $check explode("\n"$textarea);
    $lines count($check);
    echo 
    "[b]Numero linee:[/b] ".$lines."
    "

    Adesso dovrei aggiungere un po' di condizioni e qui ho qualche problema...
    ho inserito l'esclusione dell'ultima riga se è vuota con:
    Codice PHP:
    if($check[$lines 1] == ""$lines--; 
    Ora però dovrei anche inserire i seguenti controlli:
    1. se ci sono righe vuote non deve conteggiarle (quindi anche righe vuote all'interno della textarea e non solo alla fine)
    2. devono essere conteggiate solo le linee con più di 5 caretteri (alfanumerici)

    vi ringrazio

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    prova cosi
    Codice PHP:
    if(isset($check) && strlen($check) > 4){
    $lines count($check);
    echo 
    "Numero linee: ".$lines."
    "
    ;

    avevo un problema simile e se non ricordo male avevo risolto cosi

  3. #3
    ottengo l'errore: Warning: strlen() expects parameter 1 to be string, array given in C:\Programmi\EasyPHP-5.3.5.0\www\audio2.php on line 72

    probabilmente perchè lo strlen() non riesce ad analizzare l'array visto che controllo una variabile che prima ho esploso con:
    Codice PHP:
    $check explode("\n"$textarea); 

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    hai ragione non ho tenuto conto che è una array quindi isset varrà sempre
    dato che check ora è un'array
    si potrebbe fare la ricerca di esistenza e di lunghezza all'interno di essa con un ciclo per analizzarlo ad uno ad uno

  5. #5
    ho risolto analizzando l'array così:
    Codice PHP:
    $textarea $_POST['pippo'];
    $check explode("\n"$textarea);
    $lines 0;
    for (
    $i 0$i count($check); $i++)
    {
    if(
    strlen($check[$i]) > 5$lines++;
    }
    echo 
    "[b]Numero linee:[/b] ".$lines."
    "

    e sembra funzionare visto che un a capo ha meno di 5 caratteri e così via... ti ringrazio dell' input iniziale grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    prego hai ragione se si chiede elementi maggiori di 5 caratteri logico che esclude anche gli elementi vuoti

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.