phpbar.de logo

Mailinglisten-Archive

[php] Gefundene Wörter fett ausgeben

[php] Gefundene Wörter fett ausgeben

Dion Timmermann listen at dion-timmermann.de
Don Jul 21 13:47:01 CEST 2005


Hallo!

Ich kann zwar nicht mit einem Tutorial dienen, aber ich kann dir das
Code-Schnipsel zeigen, das ich dafür verwende(t habe).

$color = "#FFFF80";
$searchstr = "/";
foreach ($searchFor as $word) {
	if (!trim($word)) continue;
	$searchstr .= $word."|";
}
if (strlen ($searchstr) > 1) $searchstr = substr($searchstr, 0, 	
        strlen($searchstr) - 1);
$searchstr .= "/i";
		
$replstr = "<span style=\"background-color:$color;\">\\0</span>";
			
if (strlen($searchstr) > 3) {
	$name = preg_replace($searchstr, $replstr, $name);
	$name = str_replace("</span> <span
                style=\"background-color:$color;\">", " ", $name);
}

Das Script macht folgendes:
Es baut sich einen Regex, der folgendermassen aussieht
"/wort1|wort2|wort3/i". Durch das "i" wird Groß/Kleinschreibung nicht
beachtet, die "|" sind als Oder zu lesen. In dem foreach wird das
numerische array $searchFor gebraucht, dass ich vorher mit
$searchFor = split(" ", $suchString);
erzeugt habe, es enthält einfach alle wörter.

Wenn in dem $searchstr nun Worter enthalten sind, er mehr als nur "//i"
ist, wird die regex auf $name losgelassen. Die ersetzt erstmal alle
wörter durch den $replstr, in dem \\0 das originalwort ist. (Ich färbe
hier nur den bg gelb.) In einem Zweitern druchgang werden die
Leerzeichen zwischen zwei markierten wörten auch markierte, bzw das
schliessende und öffnende Tag neben dem jeweiligen Leerzeihen wird
jeweils entfernt. (wenn du $relpstr ändert, musst du auch den
str_replace bearbeiten.)

Das script funzt bei mir gut.

Gruß,
	Dion
			

thomas.hausheer at bluewin.ch wrote:
> 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?
> 
> Vielen Dank & Gruss
> Thomas
> 

php::bar PHP Wiki   -   Listenarchive