Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: Parole proibite

  1. #1
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697

    Parole proibite

    Nel file config.php ho questa stringa con le parole proibite

    $parole_proibite = array ("piero","mario");

    e nel file ins.php ho questa stringa che fa uscire gli asterischi

    //parole proibite (vedi config.php)
    $num_proib=count($parole_proibite);
    for ($i=0;$i<$num_proib;$i++)
    {
    $nome=eregi_replace($parole_proibite[$i],"*****",$nome);
    }

    vorrei modificarla per impedirne proprio l'inserimento con un'alert del tipo:
    - la parola "mario" non è ammessa -

    ......

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    usa explode sul testo inserito, ne ricavi un array che cicli parola per parola e con la funzione in_array verifichi se la parola che stai attualmente ciclando è contenuta all'interno del tuo parole_proibite.
    Converti la stringa inserita in minuscolo (visto che il tuo array è scritto in minuscolo) altrimenti basta che uno scriva Mario e la parola sarà accettata.
    Se non le conosci leggiti le due funzioni sul manuale per la sintassi. ciao.

  3. #3
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da nicola75ss
    usa explode sul testo inserito, ne ricavi un array che cicli parola per parola e con la funzione in array verifichi se la parola che stai attualmente ciclando è contenuta all'interno del tuo parole_proibite.
    Converti la stringa inserita in minuscolo (visto che il tuo array è scritto in minuscolo) altrimenti basta che uno scriva Mario e la parola sarà accettata.
    Se non le conosci leggiti le due funzioni sul manuale per la sintassi. ciao.
    Ho gia questo codice che opera come voglio io, si trova in ins.php, ma dovrei fare un codice del genere per ogni parola. Ho praticamente 2 codici, quello degli asterischi e questo, era per farne uno unico

    //parole non ammesse
    if(eregi("Mario", $nome.$citta.$messaggio))
    {
    $errore .= "La parola "Mario" non è ammessa";
    }

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma non ha senso. :master:
    Se l'utente inserisce una parola che non vuoi che venga inserita non ci sarà bisogno di censurarla. Deciditi, o adotti un metodo oppure l'altro.

  5. #5
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da nicola75ss
    Ma non ha senso. :master:
    Se l'utente inserisce una parola che non vuoi che venga inserita non ci sarà bisogno di censurarla. Deciditi, o adotti un metodo oppure l'altro.
    Io vorrei usare quello che con l'alert e togliere quello che le censura.

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
    <?php
    $parole_proibite 
    = array("piero","mario","nicola");
    $stringa "sei proprio uno str..ehm un MARIO e un NiCoLa";
    $stringa explode(" ",strtolower($stringa));
    foreach(
    $stringa as $parola)
    {
    if (
    in_array($parola,$parole_proibite))
    echo 
    "la parola $parola non è ammessa 
    "
    ;
    }
    ?>

  7. #7
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da nicola75ss
    Codice PHP:
    <?php
    $parole_proibite 
    = array("piero","mario","nicola");
    $stringa "sei proprio uno str..ehm un MARIO e un NiCoLa";
    $stringa explode(" ",strtolower($stringa));
    foreach(
    $stringa as $parola)
    {
    if (
    in_array($parola,$parole_proibite))
    echo 
    "la parola $parola non è ammessa 
    "
    ;
    }
    ?>
    funziona a metà , non sono una cima ma cè una cosa del codice che non quadra:

    quel $stringa = "sei proprio uno str..ehm un MARIO e un NiCoLa"; a che serve? Non si potrebbe toglierlo? Cioè, fare in modo che riconosca le parole che ci sono nell'array
    Fammi capire

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    serve come esempio di testo da controllare..
    Codice PHP:
    <?php
    $parole_proibite 
    = array("piero","mario","nicola"); // array di parole da censurare
    $stringa "sei proprio uno str..ehm un MARIO e un NiCoLa"// stringa ke contiene due parole da censurare (mario e nicola)
    $stringa explode(" ",strtolower($stringa)); // spacca la frase nelle singole parole per il controllo uno ad uno con l'array proibito
    foreach($stringa as $parola// ciclo
    // parentesi del ciclo (opzionale xkè c'è una sola istruzione nel ciclo)
    if (in_array($parola,$parole_proibite)) // controllo se la parola in esame nel loop è una parola da censurare
    echo "la parola $parola non è ammessa 
    "
    // bingo! parola da censurare, lo stampoa video
    // fine del ciclo, parentesi strutturale (opzionale xkè c'è una sola istruzione nel ciclo)
    ?>
    fa quello ke dice il codice..

    al massimo nella echo ci stampi un

    codice:
    <script>alert("la parola $parola non è ammessa");</script>
    e sei a posto...

    ciaone nico!
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Io la stringa l'ho messa come esempio. La tua sarà quella che ricevi via post inserita dall'utente.

    Originariamente inviato da luke83
    ciaone nico!
    Ciao luke. Che piacere sentirti.

  10. #10
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Originariamente inviato da luke83
    serve come esempio di testo da controllare..
    Codice PHP:
    <?php
    $parole_proibite 
    = array("piero","mario","nicola"); // array di parole da censurare
    $stringa "sei proprio uno str..ehm un MARIO e un NiCoLa"// stringa ke contiene due parole da censurare (mario e nicola)
    $stringa explode(" ",strtolower($stringa)); // spacca la frase nelle singole parole per il controllo uno ad uno con l'array proibito
    foreach($stringa as $parola// ciclo
    // parentesi del ciclo (opzionale xkè c'è una sola istruzione nel ciclo)
    if (in_array($parola,$parole_proibite)) // controllo se la parola in esame nel loop è una parola da censurare
    echo "la parola $parola non è ammessa 
    "
    // bingo! parola da censurare, lo stampoa video
    // fine del ciclo, parentesi strutturale (opzionale xkè c'è una sola istruzione nel ciclo)
    ?>
    fa quello ke dice il codice..

    al massimo nella echo ci stampi un

    codice:
    <script>alert("la parola $parola non è ammessa");</script>
    e sei a posto...

    ciaone nico!
    Non va mette a video tutto
    Questo è il codice

    <?php

    include("config.php");
    //parole proibite (vedi config.php)
    //$stringa = "sei proprio uno str..ehm un MARIO e un NiCoLa";
    $parole_proibite = explode(" ",strtolower($stringa));
    foreach($stringa as $parola)
    {
    if (in_array($parola,$parole_proibite))
    $errore .= "La parola $parola non è ammessa";
    }

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.