Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 1192
Hei, jeg vil kjøre noe under registreringsprossesen at man ikke for lov å registrere seg med bandeord, spesielle tegn har jeg fjernet, men hvordan kan jeg legge til noen bandeord at det viser en ERROR hvis dem prøver med noe sånt

Her er koden:

Kode

 if(!eregi("^[a-z0-9_,.@&]{3,15}$"
det går greit om jeg sånn?

Kode

 if(!eregi("^[a-z0-9_,.@&]+[bandeord]+[ord2]{3,15}$"
Takk for svar!
Sist endret av -AXMEDUS-; 2. september 2007 kl. 01:24.
Limited edition
Moff's Avatar
Skal ikke være verre enn å erstatte tegnene i en funksjon, også kjøre en annen som leter etter de spesielle ordene. Når sistnevnte finner noe viser du en error. Lett.
str_replace skulle vel gjøre det?

Kode

<?php
function callback($buffer) {
$arr = array(
 "faen" => "Elskling",
 "helvete" => "Kosegutten",
 "hore" => "Kanarifugl",
);
return str_replace(array_keys($arr),array_values($arr),$buffer);
};
ob_start("callback");
?>
:P
Finnes enklere måter:

Kode

$banneord= array('faen', 'helvete');
$erstatt= array('søren', 'dåoh');

$post = str_replace($banneord, $erstatt, $post);

echo $post;
Sist endret av marfo; 3. september 2007 kl. 16:58.
nso
popålol
nso's Avatar
Administrator
Marfo: Jeg vil påstå at et hash ( http://en.wikipedia.org/wiki/Associative_array ), slik som lefsaker laget et eksempel på, er mye mer oversiktlig når det blir store datamengder. Egentlig burde man aldri bruke den løsningen du kommer med.

Eksempelet ditt krever at deklareringen ikke går over flere linjer og spesiell formatering (for at ordene skal stå over hverandre) for at man skal kunne se hva ordene oversettes til.

Eksempelet ditt er kanskje "enklere", men du kan heller ikke bruke det til halvparten så mange ting som lefsakers eksempel.