Znalazłem coś takiego:
http://www.webdeveloper.com/forum/showthread.php?t=54223Cytat(zebdaag)
<?php
/****************************************
Highlighting Function
****************************************/
function highlight_words( $text, $keywords )
{
foreach( $keywords as $word )
{
$text = preg_replace( "/$word/i", '<span style="color:red;font-weight:bold;">' . $word . '</span>', $text );
}
return( $text );
}
/****************************************
Text String
****************************************/
$text = 'The big red fox jumped over the fence.<br>
Kijk maar hier heb je een enter';
/****************************************
Array Of Keywords
****************************************/
$keywords[] = $keyW; //tutaj trzeba wklepać do tablicy $keywords podmienianie słówka
/****************************************
Do It
****************************************/
echo( highlight_words( $text, $keywords ) );
echo "<a href='highlight.php?keyW=enter'>enter</a></p>";
echo "<a href='highlight.php?keyW=kijk'>kijk</a></p>";
?>
Problem rozwiązany.
Edit:
Po małym tuningu i braku umiejętności zastąpienia wszystkiego jedną funkcją preg_replace napisałem coś takiego:
<?php
function highlight_words($text, $keywords)
{
$wynik = '';
$ciag = '';
$tag = false;
for($t=0; $t
{
if($text[$t]=='<' && $text[$t+1]!=' ')
{
foreach($keywords as $word)
{
$nowe_slowo = '#';
$stronka = '';
for($i=0; $i
{
$stronka .= ''.($i+1);
}
$nowe_slowo .='#';
}
$tag = true;
$wynik .= $ciag;
$wynik .='<';
$ciag = '';
}elseif($text[$t]=='>')
{
$tag = false;
$wynik .='>';
}elseif($tag == false)
{
$ciag .= $text[$t];
}elseif($tag == true)
{
$wynik .= $text[$t];
}
}
return $wynik;
}
?>
function highlight_words($text, $keywords) <-- $text to duży, podmieniany string, a $keywords to tablica z szukanymi.
Nie ma znaczenie wielkość liter, a tagi html są opuszczane