Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da garakkio
    Allora non devi usare preg_replace, ma preg_match.
    Inoltre non devi usare i delimitatori ^ e $
    Comunque secondo me fai molto prima a usare un array e un semplice controllo con strpos, come questo:

    Codice PHP:
    function strpos_arr($haystack$needle) {
        if(!
    is_array($needle)) $needle = array($needle);
        foreach(
    $needle as $what) {
            if((
    $pos strpos($haystack$what))!==false) return $pos;
        }
        return 
    false;

    Un codice con l'array c'è l'ho già funzionante, ma ho pensato di creare una regex per semplificare l'intercettazione delle parole, mi spiego: con l'array non posso mettere /i

    Ecco il mio codice originale

    Codice PHP:
    $paroleNoGood = array ("mela","pera","pesca","''");

    $stringa $_POST['nome'].' '.$citta.' '.$email.' '.$messaggio
    foreach(
    $paroleNoGood as $parola){
    if (
    stristr($stringa$parola) !== false){
    $errore .= "<span class=\"alert-Guest\">&bull;La parola \"[b]$parola[/b]\" non &egrave; ammessa</span>

    "
    ;
     }


  2. #12
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Basta che usi stripos invece di strpos.
    stristr invece non ti conviene, perché non ti serve sapere dove sta la parola, ma solo se c'è o meno.

  3. #13
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da garakkio
    Basta che usi stripos invece di strpos.
    stristr invece non ti conviene, perché non ti serve sapere dove sta la parola, ma solo se c'è o meno.
    quasi ci siamo: così funziona, ma se inserisco i derivati, li blocca, es. se scrivo melassa, la blocca, io devo fargli bloccare solo l'esatta parola

    Codice PHP:
    $paroleNoGood = array ("mela","pera","pesca","''"); 

    $stringa $_POST['nome'].' '.$citta.' '.$email.' '.$messaggio;  
    foreach(
    $paroleNoGood as $parola){ 
    if (
    stripos($stringa$parola) !== false){ 
    $errore .= "<span class=\"alert-Guest\">&bull;La parola \"[b]$parola[/b]\" non &egrave; ammessa</span>

    "

     } 


  4. #14
    allora esplodi la frase con gli spazi e controlli parola per parola... ma potresti avere il problema con amore, l'amore per cui poi devi gestire meglio la cosa...
    Ciao!

  5. #15
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da fmortara
    allora esplodi la frase con gli spazi e controlli parola per parola... ma potresti avere il problema con amore, l'amore per cui poi devi gestire meglio la cosa...
    Mi deve bloccare solo l'esatta parola, ho pensato di mettere 2 \b ma non so bene dove

  6. #16
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Ci siete ancora? Dove lo metto \b

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.