Avatar billede lightbrain Nybegynder
25. juli 2002 - 16:35 Der er 3 kommentarer og
2 løsninger

Censur-script

Hej

Jeg har brug for et script, som kan genkende 2 ting:

1) Genkende forskellige forud-definerede ord eller sætninger som ikke må findes i en tekst, som en bruger indtaster i et textarea. Scriptet behøver kun - hvis omtalte findes i teksten - at komme med en alert-meddelelse efter at brugeren har trykker 'ok' til at submitte teksten. Hvis det er muligt, så må scriptet også gerne være lidt "intelligent", således at det kan genkende ord og sætninger, selvom de indholder en alternativ stavning.

2) Genkende html-tags - altså noget funktionalitet, som søger efter "<" og derefter ">", hvorved scriptet kan konstatere, at brugeren har anvendt html-tags og derved kommer med en alert.
Avatar billede unsigned Nybegynder
25. juli 2002 - 16:50 #1
Jeg har et sådant script som du efterlyser. Det undersøger for forbudte ord. Og det kan også fange store/små bogstaver og punktum og den slags. Jeg lægger koden ud. På forhånd undskyld for brugen af frække ord:

function valider_vittighed(felt)
{
  // Hvis et ord står på listen i funktionen 'valider_ord', så
  // returneres ordet, gemt i variablen resultat.
  // Hvis et ord ikke står på listen, så returneres resultat som
  // en tom streng
  var resultat = "" ;

  // alert("Her er programmet kommet til sted 1.") ;

  // Her omdannes alle bogstaver til små bogstaver
  felt = felt.toLowerCase() ;

  // alert("Her er programmet kommet til sted 2.") ;

  // Her erstattes alle ikke_bogstav_tegn af blanktegn
  var felt2 = erstat_tegn(felt) ;

  // alert("Her er programmet kommet til sted 'slut'.") ;

  var liste = felt2.split(" ") ;
  for(i=0; i<liste.length; i++)
  {
      resultat = valider_ord(liste[i]) ;
      if (resultat != "")
      {
        return resultat ;
      }
  }

  // alert("Her er programmet kommet til sted 'lige før return resultat'.") ;

  return resultat ;

}
function erstat_tegn(streng)
{
  var streng2 = "" ;
  for(i=0; i<streng.length; i++)
  {

      // alert("Her er programmet kommet til sted et 1. I lig med " + i + " streng2 lig med " + streng2 ) ;

      var tegn = streng.charAt(i) ;

      // alert("Her er programmet kommet til sted et 1.1. I lig med " + i + " streng2 lig med " + streng2 ) ;

      // Hvis tegn er et bogstav
      if ( undersoeg_tegn(tegn) == 1 )
      {
        // alert("Her er programmet kommet til sted et 2. I lig med " + i + " streng2 lig med " + streng2 ) ;
        streng2 = streng2 + tegn ;
      }
      // Ellers øg med et blanktegn
      else
      {
        // alert("Her er programmet kommet til sted et et 3. I lig med " + i + " streng2 lig med " + streng2 ) ;
        streng2 = streng2 + " " ;
      }
  }
  // alert("Her er programmet kommet til sted et et 4. streng2 lig med " + streng2 ) ;

  return streng2 ;
}
function undersoeg_tegn(tegn2)
{
  if ( tegn2 == "a" ) return 1 ; if ( tegn2 == "b" ) return 1 ; if ( tegn2 == "c" ) return 1 ;
  if ( tegn2 == "d" ) return 1 ; if ( tegn2 == "e" ) return 1 ; if ( tegn2 == "f" ) return 1 ;
  if ( tegn2 == "g" ) return 1 ; if ( tegn2 == "h" ) return 1 ; if ( tegn2 == "i" ) return 1 ;
  if ( tegn2 == "j" ) return 1 ; if ( tegn2 == "k" ) return 1 ; if ( tegn2 == "l" ) return 1 ;
  if ( tegn2 == "m" ) return 1 ; if ( tegn2 == "n" ) return 1 ; if ( tegn2 == "o" ) return 1 ;
  if ( tegn2 == "p" ) return 1 ; if ( tegn2 == "q" ) return 1 ; if ( tegn2 == "r" ) return 1 ;
  if ( tegn2 == "s" ) return 1 ; if ( tegn2 == "t" ) return 1 ; if ( tegn2 == "u" ) return 1 ;
  if ( tegn2 == "v" ) return 1 ; if ( tegn2 == "x" ) return 1 ; if ( tegn2 == "y" ) return 1 ;
  if ( tegn2 == "z" ) return 1 ;
  if ( tegn2 == "æ" ) return 1 ;  if ( tegn2 == "ø" ) return 1 ;  if ( tegn2 == "å" ) return 1 ;
  return 0 ;
}
function valider_ord(streng)
{
  // Her er listen med uønskede ord.

  if (streng == "røv") return streng ;
  if (streng == "røven") return streng ;
  if (streng == "røvene") return streng ;

  if (streng == "fisse") return streng ;
  if (streng == "fissen") return streng ;
  if (streng == "fisser") return streng ;
  if (streng == "fisserne") return streng ;

  if (streng == "kusse") return streng ;
  if (streng == "kussen") return streng ;
  if (streng == "kusser") return streng ;
  if (streng == "kusserne") return streng ;

  if (streng == "pik") return streng ;
  if (streng == "pikken") return streng ;
  if (streng == "pikke") return streng ;
  if (streng == "pikkene") return streng ;

  if (streng == "perkersvin") return streng ;
  if (streng == "perkersvinet") return streng ;

  return "" ;
}
function behandel_vittighed(form1)
{
  // Formålet med javascriptet er at gennemse en tekst, feltet vittighed, for
  // uønskede ord.
  if (form1.vittighed.value == "")
  {
      alert("Feltet vittighed er tomt.") ;
      return false ;
  }
  var res = valider_vittighed(form1.vittighed.value) ;
  if (res == "")
  {
      // Hvis feltet 'overskrift' er blank, skrives 'Uden overskrift' i feltet.
      if (form1.overskrift.value == "")
      {
        form1.overskrift.value = "Uden overskrift" ;
        // alert("Overskrift value sat til 'Uden overskrift'.") ;
      }
      // Hvis feltet 'overskrift' indeholder mere end 45 tegn,
      // meddeles det til brugeren og vittigheden sendes ikke til databasen.
      if (form1.overskrift.value.length > 45)
      {
        // Meddel brugeren at der er for mange tegn i feltet overskrift. ;
        alert("Feltet overskrift må højest indeholde 45 tegn.") ;
        // Send ikke vittighed til databasen. ;
        return false ;
      }
      // Hvis feltet 'indsender' er blank, skrives 'Anonym' i feltet.
      if (form1.indsender.value == "")
      {
        form1.indsender.value = "Anonym" ;
        // alert("Indsender value sat til anonym.") ;
      }
      // Hvis feltet 'Indsender' indeholder mere end 45 tegn,
      // meddeles det til brugeren og vittigheden sendes ikke til databasen.
      if (form1.indsender.value.length > 45)
      {
        // Meddel brugeren at der er for mange tegn i feltet indsender. ;
        alert("Feltet indsender må højest indeholde 45 tegn.") ;
        // Send ikke vittighed til databasen. ;
        return false ;
      }     
      // Vis at vittigheden er sendt til databasen.
      // alert("Vittigheden er sendt til databasen. Den kan ses om højest tre minutter.") ;
      // Send vittighed til databasen.
      return true ;
  }
  else
  {
      // Vis at vittigheden ikke kunnne optages i databasen.
      // Det uønskede ord ligger i res.
      alert("Vittigheden kunne ikke optages i databasen. Den indeholder det uønskede ord: " + res + ".") ;
      // Undlad at sende vittighedn til databasen
      return false ;
  }
}
Avatar billede unsigned Nybegynder
25. juli 2002 - 16:50 #2
Mit indlæg skulle have været et svar.
Avatar billede lightbrain Nybegynder
25. juli 2002 - 16:55 #3
Det ser jo godt ud, og det vil jeg også bruge, hvis ikke der er andre, der har et bedre script.

I så fald ikke, så mangler jeg bare omtale script, som kan finde html-tags.
Avatar billede lightbrain Nybegynder
25. juli 2002 - 21:56 #4
Jeg lukker spørgsmålet nu - du får 15 points og så vil oprettede et spørgsmål, der er målrettet mod et script, som kan finde html-tags.
Avatar billede lightbrain Nybegynder
25. juli 2002 - 22:13 #5
så vil oprettede = så vil jeg oprette.... gak dansk din dumbe
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester