Hi,
ich möchte eine Suchroutiene schreiben wo alle Wöter im Text enthalten sein sollen und nur das letzte Ende des Wortes oder das ganzen Wort gewertet wird. z.B. wenn nach 'preis' gesucht wird soll 'Preis' oder 'Goldpreis' oder 'Silberpreis' oder 'Preis'+Sonderzeichen wie : oder / ok sein, aber nicht 'Preisaktion'.
Wie erreiche ich durch REGEXP das optimum, ich möchte den Ausdruck so kurz wie möglich halten. Normalerweise braucht nur das Zeichen hinter einem Wort überprüft werden ob es sich nicht um einen Buchstaben oder Zahl handelt. Zeilenende und Zeilenumbrüche müssen auch als Gültig beachtet werden.
ich möchte eine Suchroutiene schreiben wo alle Wöter im Text enthalten sein sollen und nur das letzte Ende des Wortes oder das ganzen Wort gewertet wird. z.B. wenn nach 'preis' gesucht wird soll 'Preis' oder 'Goldpreis' oder 'Silberpreis' oder 'Preis'+Sonderzeichen wie : oder / ok sein, aber nicht 'Preisaktion'.
PHP:
if($_SESSION["kntext"]>' ') {
if($q = explode(" ",$_SESSION["kntext"])) {
for($t=0;$t<count($q);$t++) {
$q[$t] = mysql_real_escape_string($q[$t]);
$GLOBALS["where"] .= " and `news` REGEXP '(".$q[$t].")+[/.|-| |:|,|\[|\n|\r|\)|\(|-|\~|\|]'";
}
}
}
Wie erreiche ich durch REGEXP das optimum, ich möchte den Ausdruck so kurz wie möglich halten. Normalerweise braucht nur das Zeichen hinter einem Wort überprüft werden ob es sich nicht um einen Buchstaben oder Zahl handelt. Zeilenende und Zeilenumbrüche müssen auch als Gültig beachtet werden.
Zuletzt bearbeitet: