Witajcie mam taki oto kawałeczek kodu:
<?php
$search ='text,to';
$body ='to jest text dlugi teXt bardzo';
function highlight($text, $words) {
$words = trim($words);
$wordsArray = explode(',', $words);
foreach($wordsArray as $word) {
if(strlen(trim($word)) != 0)
$text = eregi_replace($word, '<strong>\\0</strong>', $text);
}
return $text;
}
echo highlight($body,$search);
?>
Działa jak trzeba czyli słowa to oraz tekst otacza tagami <strong>
ale chciałem to zabezpieczyć przed prostą rzeczą
mianowicie jak już jakieś słowo jest pomiędzy tagami <strong>
ma drugi raz nie strong'ować
przyjmijmy prostą wersję że
xxx słowo xxxx tagujemy natomiast <strong>slowo<strong>
chce po prostu uniknąć prostej sytuacji <strong><strong>słowo</strong></strong>
. przyjmuje już dla uprosczenia że pomiedzy hipotetycznym wyrazem a znacznikiem strong nie ma innych znaczników. (jakby uwzglednialo wiadomo było by fajnie ) ale juz nie komplikujmy. ważne jest to żeby słowo zostało nie zmienione czyli teXt tExt i inne warianty mają być zaznaczone strongiem ale nie zamienione na odpowiednik.
Prosiłbym o podpowiedź