Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483

    Bad Words - Case sensitive

    Ciao a tutti... lo so ke è una cosa facilissima.... qualkuno mi potrebbe aiutare nel rendere questa funzione(che "cripta" le parolacce provenienti da un form) insensibile alle maiuscole/minuscole ? ? ?

    LA FUNZIONE E'QUESTA:
    premetto ke nn utilizzando php 5 non posso usare la funzione str_irepleace ke se nn mi sbaglio gia di suo farebbe quello ke a me serve....

    codice:
    function badWords($sText){
    	$Bwords = array("cretino","stupido","imbecille","porcapaletta");
    	for($i=0;$i<count($Bwords);$i++){
               $sText =  str_replace($Bwords[$i],akSub($Bwords[$i]),$sText);
    	}
    	return $sText; 
    }
    
    function akSub($Bwords){
    	for($i=1;$i<(strlen($Bwords)-1);$i++){
    		$Bwords[$i] = "*";
    	}
    	return $Bwords;
    }
    Grazie a tutti


  2. #2
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    usa: eregi_replace
    è con le espressioni regolari, ma nel tuo caso nn credo ke devi fare molte modifike

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    Me lo avevano gia suggerito...ma sinceramente io sono veramente un principiante...e non ero mai riuscito a utilizzarlo... mi potresti fare vedere come si fa?

  4. #4
    :rollo: Nelle PILLOLE ce n'e' una sulle espressioni regolari compatibili PERL (puo' esserti utile anche per le funzioni POSIX come ereg)

    Ho butato giu' un po' di codice che dovrebbe fare al caso tuo solo che sostiutisce con un asterisco singolo indipendentemente dalla lunghezza degli improperi... ovviamente va perfezionata

    codice:
     
    <?php
    
    $stringa_parolacce = "cacca Andrea è davvero pipi CACCA pUpU POPo un figo";
    $criterio = "cacca|pipi|pupu|popo";
    $censura = " * ";
    $stringa_censurata = eregi_replace($criterio,$censura,$stringa_parolacce);
    echo $stringa_censurata;
    
    ?>
    Spero di essere stato utile
    <<E' una decisione molto importante. Pensaci bene, Ataru!>>
    <<STOLTO! Non lo sai che io AGISCO SEMPRE PRIMA DI PENSARE???>>

  5. #5
    Praticamente

    eregi_replace("paroledarimpiazzare","rimpiazzo","$ stringa");

    eregi_replace non ha la differenza delle maiuscole e minuscole

    PER CASO ti serve un guestbook, completamente personalizzabile?e PER CASO lo vuoi anche gratis e senza pop-up o dialer?E allora prova il nuovo NewAge GuestBook..Niente per caso, tutto perfetto

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    ma cosa che differenza c'è tra parola da rimpiazzare e $stringa ? ? ?
    Guardando la mia funzione qualki sarebbero questi parametri ? ??


  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    up

  8. #8
    Utente di HTML.it L'avatar di nabozzz
    Registrato dal
    Nov 2004
    Messaggi
    145
    Ciao

    la parola da rimpiazzare è la parola da rimpiazzare, la stringa è la stringa che contiente la parola da rimpiazzare.

    Esempio...

    codice:
    $stringa = "Oggi voglio andare in montagna";
    $stringamodificata = eregi_replace("montagna","collina",$stringa);
    
    echo $stringamodificata;
    stamperà a video:
    Oggi voglio andare in collina

    byebye
    ... tutti quanti portiamo un tabarro che asconde... qualche volta una gioia, qualche volta un dolore...

  9. #9
    Mi serviva la stessa cosa per eliminare possibili minacci in un form di inserimento commenti.

    La soluzione indicata funziona perfettamente ma bisogna specificare per forza una censura.

    Se per esempio provate con $censura=''; non funzionerà.

    Ci sono impazzito un bel po. Ero arrivato alla stessa conclusione ma nn andava, poi valorizzato $censura e funziona.

    Per chi come me invece che un simbolo vuole cancellare la parola indesiderata, aggiungete questa riga

    Codice PHP:
    $stringa_censurata=str_replace("*","",$stringa_censurata); 
    Dopo che avete applicato eregi_replace


  10. #10
    Codice PHP:
    function badWords($sText){
        
    $Bwords = array("cretino","stupido","imbecille","porcapaletta");
        for(
    $i=0;$i<count($Bwords);$i++){
               
    $sText =  str_replace($Bwords[$i],akSub($Bwords[$i]),strtolower($sText));
        }
        return 
    $sText

    strtolower($sText)

    solo che converte tutto in minuscolo.....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.