Bekijk Volledige Versie : actie op belaade woorden php
Hallo,
ik heb een gastenboek en daar zit op dit moment een spammer in die elke keer
een verhaal van dezelfde strekking plaatst.
dat is er vervelend en nu wil ik gaan filteren op bepaalde woorden.
als een woord overeen komt met de lijst mag het niet in het gastenboek
worden opgeslagen.
Hoe kan ik met php filteren op bepaalde woorden?
ik hoop dat iemand mij verder kan helpen.
alvast bedankt.
Henk.
ps: ik blokkeer nu al de ipadressen van de spammer maar die laat zich elke
keer weer via een adres zien
--------------------------------------------------------------------------------
Mijn Postvak In wordt beschermd door SPAMfighter
756 spam-mails zijn er tot op heden geblokkeerd.
Download de gratis SPAMfighter vandaag nog!
--------------------------------------------------------------------------------
Mijn Postvak In wordt beschermd door SPAMfighter
756 spam-mails zijn er tot op heden geblokkeerd.
Download de gratis SPAMfighter vandaag nog!
Erick T. Barkhuis
21/09/06, 10:40
Henk....:
> Hoe kan ik met php filteren op bepaalde woorden?
Je kunt gebruik maken van de functie strstr().
Zie http://php.net/strstr
> --------------------------------------------------------------------------------
> Mijn Postvak In wordt beschermd door SPAMfighter
> 756 spam-mails zijn er tot op heden geblokkeerd.
> Download de gratis SPAMfighter vandaag nog!
>
> --------------------------------------------------------------------------------
> Mijn Postvak In wordt beschermd door SPAMfighter
> 756 spam-mails zijn er tot op heden geblokkeerd.
> Download de gratis SPAMfighter vandaag nog!
En zou je zo vriendelijk willen zijn deze berichten (die je steeds vaker
ziet op Usenet) te onderdrukken? Het is voor lezers van deze nieuwsgroep
niet bijster interessant jouw high-score te volgen, denk ik.
--
Erick
"When a fellow says, 'it ain't the money but the principle of the
thing,' it's the money." - F. McKinney Hubbard
In article <451240b2$0$2017$ba620dc5@text.nova.planet.nl>,
"Henk...." <info@nospamhetnet.nl> writes:
[...]
> Hoe kan ik met php filteren op bepaalde woorden?
Een van de oplossingen:
$woorden = split('[[:space:]]', $_POST['verhaal']);
$vervelende = array('kud', 'met', 'peren');
$gebruikt = array_intersect($vervelende, $woorden);
if (count($gebruikt) > 0) {
// foutmelding ofzo
Erick T. Barkhuis
21/09/06, 11:00
Operator:
> In article <451240b2$0$2017$ba620dc5@text.nova.planet.nl>,
> "Henk...." <info@nospamhetnet.nl> writes:
>
> [...]
> > Hoe kan ik met php filteren op bepaalde woorden?
>
> Een van de oplossingen:
>
> $woorden = split('[[:space:]]', $_POST['verhaal']);
> $vervelende = array('kud', 'met', 'peren');
> $gebruikt = array_intersect($vervelende, $woorden);
>
> if (count($gebruikt) > 0) {
> // foutmelding ofzo
Een nadeeltje van deze (verder goede) methode is, dat ze zich er op
baseert dat 'woorden' altijd omgeven staan door spaties.
Dit zal dus verfijnd moeten worden met woorden die op een zinseinde staan
(dus gevolgd worden door een punt, uitroepteken, e.d.), of die vooraf
gegaan of gevolgd worden door iets anders (komma, aanhalingsteken,
haakje).
Verder zal het script moeten worden aangevuld zodanig, dat het hoofd- en
kleine letters als gelijke tekens behandelt.
--
Erick
"Erick T. Barkhuis" <erick.usenet@ardane.c-o-m> schreef in bericht
news:MPG.1f7c71efa3d75a0898a18d@news.individual.ne t...
> Operator:
>> In article <451240b2$0$2017$ba620dc5@text.nova.planet.nl>,
>> "Henk...." <info@nospamhetnet.nl> writes:
>>
>> [...]
>> > Hoe kan ik met php filteren op bepaalde woorden?
>>
>> Een van de oplossingen:
>>
>> $woorden = split('[[:space:]]', $_POST['verhaal']);
>> $vervelende = array('kud', 'met', 'peren');
>> $gebruikt = array_intersect($vervelende, $woorden);
>>
>> if (count($gebruikt) > 0) {
>> // foutmelding ofzo
>
> Een nadeeltje van deze (verder goede) methode is, dat ze zich er op
> baseert dat 'woorden' altijd omgeven staan door spaties.
> Dit zal dus verfijnd moeten worden met woorden die op een zinseinde staan
> (dus gevolgd worden door een punt, uitroepteken, e.d.), of die vooraf
> gegaan of gevolgd worden door iets anders (komma, aanhalingsteken,
> haakje).
>
> Verder zal het script moeten worden aangevuld zodanig, dat het hoofd- en
> kleine letters als gelijke tekens behandelt.
Het script werkt inderdaad,en op deze manier kan ik wel wat blokkeren.
ik zal het nog wat gaan uitwerken
Henk
--------------------------------------------------------------------------------
Mijn Postvak In wordt beschermd door SPAMfighter
756 spam-mails zijn er tot op heden geblokkeerd.
Download de gratis SPAMfighter vandaag nog!
In article <MPG.1f7c71efa3d75a0898a18d@news.individual.net>,
Erick T. Barkhuis <erick.usenet@ardane.c-o-m> writes:
> Operator:
>> In article <451240b2$0$2017$ba620dc5@text.nova.planet.nl>,
>> "Henk...." <info@nospamhetnet.nl> writes:
>>
>> [...]
>> > Hoe kan ik met php filteren op bepaalde woorden?
>>
>> Een van de oplossingen:
>>
>> $woorden = split('[[:space:]]', $_POST['verhaal']);
>> $vervelende = array('kud', 'met', 'peren');
>> $gebruikt = array_intersect($vervelende, $woorden);
>>
>> if (count($gebruikt) > 0) {
>> // foutmelding ofzo
>
> Een nadeeltje van deze (verder goede) methode is, dat ze zich er op
> baseert dat 'woorden' altijd omgeven staan door spaties.
[:space:] bevat newline, retrun, tab, spatie en vertical tab.
> Dit zal dus verfijnd moeten worden met woorden die op een zinseinde staan
> (dus gevolgd worden door een punt, uitroepteken, e.d.), of die vooraf
> gegaan of gevolgd worden door iets anders (komma, aanhalingsteken,
> haakje).
Klopt. Die karakters zitten in [:punct:]
> Verder zal het script moeten worden aangevuld zodanig, dat het hoofd- en
> kleine letters als gelijke tekens behandelt.
Ok. Dan wordt het dus:
$woorden = split('[[:space:][:punct:]]'
, strtolower($_POST['verhaal']));