Mailinglisten-Archive |
Hi Thomas,
Am Donnerstag, 21. Juli 2005 09:23 schrieb thomas.hausheer at bluewin.ch:
> Hallo
>
> bin am Tutorial suchen nach einer einfachen Methode mit der ich nach
> einer MySQL Suche die gesuchten Wörter im gefundenen Text anders
> darstellen kann (zB. Fett).
> Hat mit jemand einen heissen Tipp?
Bin grad dabei etwas ähnliches zu machen...
Den Schnipsel hab ich im Web gefunden:
$suchwort = "suchwort";
$post = "Dein Text do das suchwort oder die suchworte vorkommen steht hier";
$keywords = str_replace( "+", " ", $suchwort );
if ( preg_match("/,(and|or),/i", $keywords) ) {
while ( preg_match("/,(and|or),/i", $keywords, $match) ) {
$word_array = explode( ",".$match[1].",", $keywords );
if (is_array($word_array)) {
foreach ($word_array as $keywords) {
echo $keywords."<br>";
$post = preg_replace( "/(^|\s)($keywords)(\s|$)/i", "\\1<span class='highlight'>\\2</span>\\3", $post );
}
}
}
} else {
$post = preg_replace( "/(^|\s)($keywords)(\s|$)/i", "\\1<span class='highlight'>\\2</span>\\3", $post );
}
echo "<br>".$post;
Nur funktioniert der Code mit mehreren Wörtern nicht so wie ich mir das vorstelle.
Ich muß aber auch ehrlich zugeben dass ich den RegExp nicht ganz verstehe: "/,(and|or),/i"
Aber vielleicht hilfts dir ja!
Lg Harald
php::bar PHP Wiki - Listenarchive