Suchmuster erstellen

Cusco

Erfahrenes Mitglied
Hi,

wie kann man aus einen beliebig langen String z.B. "erstes wort" die MYSQL Anweisung "and (`text` like '%erstes%') and (`text` like '%wort%')" erstellen? Ich brauche das für eine Suchseite. Der String kann beliebig lang z.B. auch "erstes wort mehere wörter". Als Trennung dient immer ein Leerzeichen. Ich denke das geht irgendwie mit preg_match(), habe mich aber noch nicht groß damit auseinander gesetzt.
 
Hallo Cusco

Du kannst hier preg_match verwenden, was aber zu kompliziert wäre, da es auch einfachere Lösungen gibt.
Sieh dir mal die Funktion explode an ;)

Grüße SimonErich
 
PHP:
            $keys = preg_split("/ /", $keys);
            $i = 0;
            foreach ($keys as $key) {
                $sql .= " TITLE like '%".$key."%'";
                $i++;
                if($i >= 1 && $i < count($keys))
                    $sql .= " AND ";
            }
 
PHP:
if ($terms = preg_split('/\s+/', $str)) {
	$query = 'SELECT … WHERE `text` LIKE "%'.implode('%" AND `text` LIKE "%', array_map('mysql_real_escape_string', $terms)).'%"';
}
 
Zurück