Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446

    problema stringa da ripulire

    Ho bisogno di una mano: devo modificare una stringa in questo modo:

    - devo eliminare le parole con lunghezza minore di 3
    - devo eliminare tutta la punteggiatura
    - devo separare tutte le parole rimaste con una virgola

    Qualcuno sa aiutarmi, io mi sto perdendo. Vi scrivo quello che avevo messo ma è un casino.

    codice:
    $tag_titolo = cleanTitolo($_POST['titolo']); //questa elimina tutta la punteggiatura e i caratteri strani
    	$tag_tit = str_replace(" ", ", ",$tag_titolo);
    	
    	$tag_array = explode(", ", $tag_tit);
    	$elem = count($tag_arry);
    	
    	for($i = 0; $i< $elem; $i++){
    		if(strlen($tag_array[$i])>3){
    		$elementi[$i]=$tag_array[$i];
    		die($elementi[0]);
    		}
    	}
    	$comma_separated = implode(",", $elementi);

  2. #2
    ciao io per adesso sono arrivto solo al punto di eliminare la punteggiatura, non mostrare niente se la parola è di 3 o inferiore ai 3 caratteri,

    mi spiace non poterti dare una mano fino in fondo..

    Codice PHP:
    $pattern = array('.',':',';',',','?');
    $principale 'prova c....on??? la punteggiatura ;;;???';
    $maxlet  3;
    $titolo str_replace($pattern,' ',$principale);
    if (
    strlen($titolo) <= $maxlet) {$titolo '';}
    echo 
    $titolo

  3. #3
    Codice PHP:

    <?php

        
    // stringa da usare
        
    $stri "prova c....on??? la punteggiatura ;;;capittooo???";
        
        
    // usa la funzione
        
    print(cleanTitolo($stri));
        
        
    function 
    cleanTitolo($str)
    {
        
    // elimina i caratteri speciali
        
    $str eregi_replace("[^A-Za-z0-9 ]"""$str);
        
        
    // mette ogni parola in array
        
    $parole explode(" "$str);
        
        
    // per ogni parola
        
    $str "";
        foreach(
    $parole as $in)
        {
            
    // se maggiore di 3 caratteri la aggiunge... altrimenti la ignora
            
    if(strlen($in) > 3)
            {
                
    $str .= $in " ";
            }
        }
        
        
    // toglie lo spazio finale
        
    $str trim($str);
        
        
    // splitta per parola
        
    $words explode(" "$str);
        
        
    // e unisce con le virgole
        
    $str implode(", "$words);

        
    // ritorna il valore
        
    return $str;
        
    }

  4. #4
    Originariamente inviato da StefanoV
    Codice PHP:

    <?php

        
    // stringa da usare
        
    $stri "prova c....on??? la punteggiatura ;;;capittooo???";
        
        
    // usa la funzione
        
    print(cleanTitolo($stri));
        
        
    function 
    cleanTitolo($str)
    {
        
    // elimina i caratteri speciali
        
    $str eregi_replace("[^A-Za-z0-9 ]"""$str);
        
        
    // mette ogni parola in array
        
    $parole explode(" "$str);
        
        
    // per ogni parola
        
    $str "";
        foreach(
    $parole as $in)
        {
            
    // se maggiore di 3 caratteri la aggiunge... altrimenti la ignora
            
    if(strlen($in) > 3)
            {
                
    $str .= $in " ";
            }
        }
        
        
    // toglie lo spazio finale
        
    $str trim($str);
        
        
    // splitta per parola
        
    $words explode(" "$str);
        
        
    // e unisce con le virgole
        
    $str implode(", "$words);

        
    // ritorna il valore
        
    return $str;
        
    }

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.