Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297

    contare i caratteri di più parole

    ciao a tutti vorrei fare un controllo su un campo input , dove quando uno scrive delle frasi, il codice php deve controllare che tutte le parole non superano tot caratteri ad esempio uno scrive:

    "Quel ramo del lago di como.... ecc"

    poi quando invia , se ha scritto una parola più lunga di tot lettere gli deve dare un messaggio di errore.

    Non mi serve tutto lo script ma solo il nome della funzione.
    ho provato con strlen ma quello mi conta tutti i caratteri della frase e non le singole parole


    credo che bisogna fare tipo un explode penso...
    è già,è vero!!, gli faccio fare l'explode e poi gli faccio strlen su ogni array giusto?

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    io credo tu possa farlo direttamente in javascript senza passare dal server

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    una cosa del jenere comunque

    codice:
    function lunghezza(n,str)
    {
            ritorno=true;
            var Vettore=Slpit(str,' ');
            for (i=0; i<Vettore.length && ritorno; i++) 
            { 
                   if(Len(Vettore[0])>n)
                   {
                        ritorno=false;
                   }
           }
           return ritorno;
    }

  4. #4
    Ciao,
    sia lato server che via javascript, puoi usare un'espressione regolare per verificare se ci sono parole lunghe un certo valore o più.

    Es. lato server con lunghezza = 5 o più
    Codice PHP:
    if ( preg_match('/\\S{5,}/'$stringa) )  {
       
    // c'è una parola lunga 5 o più
    }
    else {
       
    // non ci sono parole lunghe 5 o più

    In questo esempio, vengono contati tutti i caratteri esclusi i 'whitespaces'. Modifica l'espressione regolare a seconda delle esigenze.
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  5. #5
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    Originariamente inviato da Magicale
    Ciao,
    sia lato server che via javascript, puoi usare un'espressione regolare per verificare se ci sono parole lunghe un certo valore o più.

    Es. lato server con lunghezza = 5 o più
    Codice PHP:
    if ( preg_match('/\\S{5,}/'$stringa) )  {
       
    // c'è una parola lunga 5 o più
    }
    else {
       
    // non ci sono parole lunghe 5 o più

    In questo esempio, vengono contati tutti i caratteri esclusi i 'whitespaces'. Modifica l'espressione regolare a seconda delle esigenze.

    ok grazie del consiglio, però come potrei fare per troncare le singole stringhe se superato tot caratteri?
    sto provando a fare

    Codice PHP:
    function TroncaStringa($articolo){
        if ( 
    preg_match('/\S{10,}/'$articolo) )  { 
            
    $articolo_new=substr($articolo,0,10);
            
    $articolo=$articolo_new;

    return 
    true;



    con chiamata alla funzione cosi:
    Codice PHP:
    if(!TroncaStringa($articolo)) {

    return 
    false;

    pero' non va, dovè che sbaglio?

  6. #6
    Codice PHP:
    $nuova_stringa preg_replace('/(\\S{10})\\S{1,}/','$1'$stringa); 
    Tutte le parole presenti nella stringa più lunghe di 10 caratteri vengono troncate.
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  7. #7
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    ho fatto cosi ma non va
    Codice PHP:
    # CONTROLLO CHE OGNI PAROLA NON SUPERA I 10 CARATTERI

    function TroncaStringa($articolo){
        if ( 
    preg_match('/\S{10,}/'$articolo) )  { 
    $articolo preg_replace('/(\S{10})\S{1,}/','$1'$articolo);


    return 
    true;



    chiamata alla funzione cosi
    Codice PHP:
    if(!TroncaStringa($articolo)) {

    return 
    false;


  8. #8
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    risolto funziona
    ho tolto la funzione è lo messo direttamente

    grazie 1000 ti darei un bacio in bocca grazie ciao

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.