This link has been bookmarked by 4 people . It was first bookmarked on 17 Jul 2008, by alfred westerveld.
-
29 Jan 09
-
17 Jul 08
-
28 Mar 08
-
27 Nov 07
-
<?php function getMySQLZoekterm($zoekterm){ // Stripslashes, indien nodig $zoekterm = (get_magic_quotes_gpc == 0 ? stripslashes($zoekterm) : $zoekterm); // Vervang de spaties tussen " en " door een | if (preg_match_all('/\"(.*?)\"/', $zoekterm, $matches, PREG_SET_ORDER)) { foreach($matches as $match) { $zoekterm = str_replace($match[0], str_replace(' ', '|', $match[0]), $zoekterm); } } // Vervang de spaties tussen ( en } door een ~ if (preg_match_all('/\((.*?)\)/', $zoekterm, $matches, PREG_SET_ORDER)) { foreach($matches as $match) { $zoekterm = str_replace($match[0], str_replace(' ', '~', $match[0]), $zoekterm); } } // Stop de zoektermen in een array $zoektermTemp = preg_split("/[\s,] /", $zoekterm); // Doorloop de zoektermen, op zoek naar dubbele keywords achter elkaar $aantalAND = 0; $aantalOR = 0; $zoekterm = array(); $i = 0; while(list($key, $val) = each($zoektermTemp)){ if (strtoupper($val) == "AND" OR strtoupper($val) == "OR"){ // Als de term hiervoor ook al een operator is, deze verwijderen if ($key != 0){ if (!( strtoupper($zoektermTemp[$key-1]) == "AND" OR strtoupper($zoektermTemp[$key-1]) == "OR")){ $zoekterm[$i] = strtoupper($val); $i ; // Tel aantal AND en OR's die overblijven if (strtoupper($val) == "AND"){ $aantalAND ; }else{ $aantalOR ; } } } }else{ // Als de vorige term geen operator was, moet er nu een AND tussen if ($i > 0){ if ($zoekterm[$i-1] != "AND" AND $zoekterm[$i-1] != "OR"){ $zoekterm[$i] = "AND"; $i ; } } //
-
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.