Elikkä tarkoituksena olisi laittaa tulevaan enkkupuolen vieraskirjaani moinen "kielen havaitsija", joka havaitsee tietyt kirjaimet/sanat ja estää viestin lähettämisen virhesanoman kera.
Tällä hetkellä se estää mm. tyhjän ja liian pitkän viestin tyyliin:
<?php elseif(empty($_msg['message'])) echo("<p class=\"error\">You must say something.</p>"); elseif(strlen($_msg['message']) > $_set['message_length']) echo("<p class=\"error\">You have way too much things to say. ".$_set['message_length']." marks is maximum, you had ".(strlen($_msg['message'])-$_set['message_length'])." marks more than allowed.</p>"); ?>
..mutten tajua, miten se tajuaisi pelkästään annetut merkit ja/tai sanat tekstin seasta, ja sen jälkeen kertoisi vaikkapa tuolla echolla että kirjoita enkuksi tai gtfo.
Jos et ymmärtänyt, niin koitan vielä toisen kerran: jos viestissä lukee ään tai öön sisältävä sana, esim "elämä" tai "löytyy", niin se ei anna lähettää viestiä. Ja sitten yleisimpiä sanoja viesteissä, esim "moi" tai "hieno(t)".
Käsittääkseni jo pelkän ään ja öön havaitseminen riittäisi, sillä niitä on aika monessa suomen kielisessä sanassa.
Niin ja tuo message_length on määritelty erilliseen filuun.
Edit: php-väritys. :S
Strpos-funktio pystyy etsimään sanojen tai merkkien ensimmäisen esiintymän tekstistä, joten riittäisiköhän se?
int strpos(string merkkijono, string hakusana[, int aloituskohta])
Edit. Kun tuota php:tä kirjoittaa täällä putkassa, niin kannattaa varmaan käyttää php:tä varten tehtyjä koodi-tageja, jotta värityksetkin toimisivat. Myöskään koodin selkeempi rivitys ja sisennys ei olisi pahitteeksi...
Taidan tarvita rautalangan kautta apua, sillä en tainnut täysin tajuta tuota strpos:ia ja tunnen olevani muutenkin melko aloittelija PHP:n parissa.
Eli alkuunsa tuossa pistetään "elseif" noiden poikkeuksien etsimisessä ja sitten jotain mystistä.
Seuraava koodi etsii merkkijonosta ä, ö ja å -merkkejä strpos
-funktiolla:
<?php $mjono = "teksti, jossa on ääkkösiä"; foreach (array('ä', 'ö', 'å') as $skandi) { if (strpos($mjono, $skandi) !== false) { echo "skandinaavisia merkkejä löytyi!"; break; } } ?>
PS. muista mahdolliset merkistömuunnokset.
Aihe on jo aika vanha, joten et voi enää vastata siihen.