Bepaalde woorden selecteren

  • Hallo,


    Ik ben een spam filter o.i.d. aan het maken. Hier stuit ik op een probleem. Wat ik nu heb ik dat die alles laat zien wat er in de Chat is gezegd. Alleen ik wil dat er alleen laten zien wordt wat die bepaalde woorden bevatten die in de array staan ($filter).


    Wat ik nu heb:

    PHP
    $filter = array("www", "http", "mijnmaffia", "meld", "register", "join", "ban", "scheld", "schelden");
    $vervanging = array("<font color=\"red\"><b>www</b></font>", "<font color=\"red\"><b>http</b></font>", "<font color=\"red\"><b>mijnmaffia</b></font>", "<font color=\"red\"><b>meld</b></font>", "<font color=\"red\"><b>register</b></font>", "<font color=\"red\"><b>join</b></font>", "<font color=\"red\"><b>ban</b></font>", "<font color=\"red\"><b>scheld</b></font>", "<font color=\"red\"><b>schelden</b></font>");
    $dbres = mysql_query("SELECT * FROM `shoutbox` WHERE `berichten` LIKE '%ban%' ORDER BY `id` DESC");
    while($reclame = mysql_fetch_object($dbres)){
    $bericht = str_ireplace($filter, $vervanging, $reclame->bericht);


    Nu weet ik wel hoe het met 1 ding moet, maar hij doe ik het met de array ($filter) ?
    En is het ook mogelijk dat ik in de zelfde query dus lijst de items van forum, berichten zie?

  • J.Rijdes
    Woorden vervangen of omzeilen is hetzelfde, dit soort filters helpt vaak gesproken niet echt optimaal.
    Denk dat dit het punt van Victor was dat je hier niet teveel tijd en/of moeite in steekt ;)


    On-topic:
    - http://php.net/manual/en/function.in-array.php


    Bovenstaande kan je een array uitzoeken, dus als je bijvoorbeeld in een array het woord "hallo" zoekt, gaat hij de array af en zodra er een match is krijg je true of false antwoord terug.
    Je kan dit combineren met je SQL, roep je data als een array aan, in jou geval zou de onderstaande link meer duidelijkheid moeten geven.


    - http://php.net/manual/en/function.mysql-fetch-array.php


    Hiermee kan je dus vanuit een Database werken, onthoud wel dat dit niet effectief is, er zullen altijd omwegen zijn.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!