Suchfunktion fehlerhaft

Watusimann

Erfahrenes Mitglied
Nabend,

Ich stehe vor einem kleinen Problem bzw. hab ich noch eine kleine Gedächtnislücke ...

Ich sitze an einem Script zum Durchsuchen der DB.
PHP:
SELECT * FROM   download 
WHERE 
                            download.genre LIKE '%".$suchbegriff."%' 
OR 
			    download.text LIKE '%".$suchbegriff."%' 
OR 
			   download.titel LIKE '%".$suchbegriff."%'
OR 
			   download.count LIKE '%".$suchbegriff."%'

Bis dahin kein Problem - nur bei der Ausgabe hab ich mein Hindernis gefunden:
PHP:
while($row = mysql_fetch_assoc($result)) {  
	$ergebnis .= ' <span style="float:left">  
                            <span style="color:#900">›</span>
			    <strong>'.$row[titel].'</strong></span>
			   <span style="float:right">
                           [ Section: <a href="./index.php?section='.ucwords($row[section]).'">'.ucwords($row[section]).'</a> ]</span>
<div >
                          '. $row[text] .'
		           </div>';
				}

Ich formatiere dann die Treffer der Suche mit einem Codeschnipsel:
PHP:
function highlight_str($post,$str) {
      $str = split(" ",$str);
      foreach($str as $search_str) {
         $post = eregi_replace("$search_str","<span style='background-color:#FFFFCC;font-weight:bold'>\\0</span>",$post);
      }
   return $post;
   } 

echo highlight_str($ergebnis,$suchbegriff);

soweit funktioniert es, jedoch gebe ich als Suchbegriff "hre" oder "ref" ein, wird mir der Link angezeigt. gebe ich "href" ein, zeigt er mir keinen Treffer an - so wie es eigentlich sein soll. Woran liegt dies ... bzw. wie kann ich dies abändern?

hier mal der Link zum probieren ... Problemkind

Danke schonmal im Voraus
 
Das liegt darin, dass er dass ref (In FilteREFfekten) und das hre (In entfüHREn) findet.

Dein eigentliches Problem ist allerdings, dass dein kleiner Codeschnipsel zum highlighten von den Treffern HTML Code mithighlightet und dir somit deinen Link zerschießt. Ergo müsstest du entweder deinen kleinen Highlighter umschreiben, so dass er Tags ignoriert oder du übergibst ihm keinen HTML Code.
 
Zurück