Xerxes
23-01-2004, 22:46
Hallo,
ich habe ein mittelschweres Problem mit den von mir so geliebten regulären Audrücken.
Ich möchte in den Ergebnissen einer Suche die gesuchten Begriffe hervorheben. Da ich das ganze mit einem <span>-Container tue, möchte ich allerdings nicht, dass auch die URL von einem Link mit hervorgehoben wird.
Bsp:
<!-- vorher -->
<a href="http://www.haloorbit.de">Halo Orbit</a>
<!-- nachher -->
<a href="http://www.haloorbit.de"><span class="blam">Halo</span> Orbit</a>
Ich krieg es einfach nicht hin, dass er die Links (und sämtliche anderen html-tags) ignoriert. Ich hab das php-manual schon durchforstet und hier im forum gesucht und tausend sachen probiert, aber alles hat nichts geholfen.
soweit bin ich bisher:
//
// Färbe die gesuchten Worte bunt
//
$words = explode( ' ', $search_words );
for( $j = 0; $j < count( $words ); $j ++ )
{
$news[$i]['news_headline'] = preg_replace( "!($words[$j])!i", "<span class=\"blam\">$1</span>", $news[$i]['news_headline'] );
$news[$i]['news_text'] = preg_replace( "!($words[$j])!i", '<span class="blam">$1</span>', $news[$i]['news_text'] );
}
soweit funktioniert das auch, nur, dass eben urls mit geändert werden. Wie schließe ich die links aus?
ich habe ein mittelschweres Problem mit den von mir so geliebten regulären Audrücken.
Ich möchte in den Ergebnissen einer Suche die gesuchten Begriffe hervorheben. Da ich das ganze mit einem <span>-Container tue, möchte ich allerdings nicht, dass auch die URL von einem Link mit hervorgehoben wird.
Bsp:
<!-- vorher -->
<a href="http://www.haloorbit.de">Halo Orbit</a>
<!-- nachher -->
<a href="http://www.haloorbit.de"><span class="blam">Halo</span> Orbit</a>
Ich krieg es einfach nicht hin, dass er die Links (und sämtliche anderen html-tags) ignoriert. Ich hab das php-manual schon durchforstet und hier im forum gesucht und tausend sachen probiert, aber alles hat nichts geholfen.
soweit bin ich bisher:
//
// Färbe die gesuchten Worte bunt
//
$words = explode( ' ', $search_words );
for( $j = 0; $j < count( $words ); $j ++ )
{
$news[$i]['news_headline'] = preg_replace( "!($words[$j])!i", "<span class=\"blam\">$1</span>", $news[$i]['news_headline'] );
$news[$i]['news_text'] = preg_replace( "!($words[$j])!i", '<span class="blam">$1</span>', $news[$i]['news_text'] );
}
soweit funktioniert das auch, nur, dass eben urls mit geändert werden. Wie schließe ich die links aus?