Avatar billede ken9 Nybegynder
06. juli 2006 - 16:25 Der er 10 kommentarer og
1 løsning

Ordfilter til tagwall

Hej eksperter!

Jeg er ved at lave et ordfilter til min tagwall, men jeg stødte på et problem.

$besked = str_ireplace("svin", "*vasker sin mund i sæbe*", $besked);

Kan man ikke gøre så ordet SKAL være svin før det erstattes, så hvis man skriver svinegris, gør den ikke noget ved ordet?

Jeg prøvede mig frem med noget der endnu ikke er testet:


$filter = array("svin","fuck");
for (x==0;x<count($filter);x++)
{
  for (y==0;x<($ordet.length - $filter[x].length) +1;y++)
  {
      if ($ordet.substring(y,$filter[x].length)==$filter[x]&&$ordet.substring(y + 1,1)==' ')
      $ordet = $ordet.substring(0,y-1)."*vask din mund i sæbe*".$ordet.substring(y+1,$ordet.length)
  }
}

Andre forslag??
Avatar billede wagner Nybegynder
06. juli 2006 - 16:49 #1
Du kan vel bare sætte et mellemrum på hver side af ordet. Dog måske ikke den pæneste løsning :)

$besked = str_ireplace(" svin ", "*vasker sin mund i sæbe*", $besked);
Avatar billede ken9 Nybegynder
06. juli 2006 - 17:35 #2
nej, for så vil det ikke virke hvis bandeordet står først eller til sidst i sætningen..

'du er et svin' ville den ikke reagere på f.eks. ;)
Avatar billede nielle Nybegynder
06. juli 2006 - 17:42 #3
$besked = preg_replace("/\bsvin\b/i", " ", $besked);
Avatar billede wagner Nybegynder
06. juli 2006 - 17:46 #4
Ja, det har du ret i.

Jeg tror du må søge ordet ud i din tekst, og så undersøge hvad der er omkring dit ord. Enten skal det være start/slut på sætningen eller et space. Det er vist også noget i den retning, du har lavet ovenfor
Avatar billede ken9 Nybegynder
06. juli 2006 - 17:46 #5
nielle! Thats what i talking about! Smid et svar ;)
Avatar billede nielle Nybegynder
06. juli 2006 - 17:47 #6
Svar :^)
Avatar billede ken9 Nybegynder
06. juli 2006 - 17:48 #7
wagner, ja det er det.. men jeg håbede på der var en nemmere løsning, og nielles ser ud til at virke efter hvad jeg lige fik testet :o)
Avatar billede ken9 Nybegynder
06. juli 2006 - 17:48 #8
*takker og bukker*
Avatar billede wagner Nybegynder
06. juli 2006 - 17:51 #9
Ja, Nielles løsning er meget bedre.

Tror snart jeg må sætte mig ind i regulære udtryk :)
Avatar billede nielle Nybegynder
06. juli 2006 - 17:54 #10
Kan klart anbefales! de er uhyre kraftige. :^)
Avatar billede ken9 Nybegynder
06. juli 2006 - 17:59 #11
Hehe havde grublet over hvordan faen jeg skulle lave det hele dagen ;o)
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