Moinsen,
ich habe eine Volltext Suche auf eine MySQL Datenbank mit MATCH () AGAINST();
Nun Möchte ich das in den Ergebnissen der Suchbegriff bzw. ein Teil des Suchbegriffes da er aus mehrer Wörtern besteht kann. Entsprechend Markiert wird.
Da die FULLTEXT Suche auch ergebnisse die nur eine Teil übereinstimmung haben wenn der Begriff aus mehrer Wörtern besteht.
Habe dazu folgendes Code:
bei den Suchergebnissen wo der Komplette Suchbegriff gefunden wurde Klappt die ausgabe wunderbar, wenn aber nur ein Teil des Suchbegriffes gefunden wird erfolgt keine Ausgabe.
Kann mir einer Dabei Helfen das problem zu Lösen?
Vielen Dank Schonmal
ePeRDeMeR
ich habe eine Volltext Suche auf eine MySQL Datenbank mit MATCH () AGAINST();
Nun Möchte ich das in den Ergebnissen der Suchbegriff bzw. ein Teil des Suchbegriffes da er aus mehrer Wörtern besteht kann. Entsprechend Markiert wird.
Da die FULLTEXT Suche auch ergebnisse die nur eine Teil übereinstimmung haben wenn der Begriff aus mehrer Wörtern besteht.
Habe dazu folgendes Code:
PHP:
$shortenBy = "90";
$q_array = explode(" ", trim($q));
foreach($q_array AS $q_value){
$suchmuster[] = '@('.quotemeta($q_value).')@si';
$ersatz[] = '<span '.CSS_HIGHLIGHT.'>\1</span>';
}
preg_match('/(.*?)('.preg_quote($q).')(.*)/smi', $sql_array['site'], $matches);
$matches[1] = (strlen($matches[1])>$shortenBy) ? '...'.substr($matches[1], -$shortenBy) : $matches[1];
$matches[3] = (strlen($matches[3])>$shortenBy) ? substr($matches[3], 0, $shortenBy).'...' : $matches[3];
$result = $matches[1].$matches[2].$matches[3];
$result = preg_replace($suchmuster, $ersatz, $result)."\n";
bei den Suchergebnissen wo der Komplette Suchbegriff gefunden wurde Klappt die ausgabe wunderbar, wenn aber nur ein Teil des Suchbegriffes gefunden wird erfolgt keine Ausgabe.
Kann mir einer Dabei Helfen das problem zu Lösen?
Vielen Dank Schonmal
ePeRDeMeR
Zuletzt bearbeitet: