Website Baker gesuchte Begriffe markieren

Hier wird sehr kurz erklärt, wie man in WebsiteBaker die gefundenen Textstellen auch auf den HTMLSeiten markiert anzeigt.

In das Template muss folgender Block für das ersetzen der Gefundenen Textstellen.

<?php

ob_start();

page_content();

$str=ob_get_contents();

ob_end_clean();

if($_GET[’string‘]) {

#$str=str_ireplace($_GET[’string‘],’‘.$_GET[’string‘].’‘,$str);

$str=preg_replace(‚#>([^<>]*)(‚.preg_quote($_GET[’string‘]).‘)([^<>]*)<#Ui‘,‘>$1$2$3<‚,$str);

}

echo $str;

?>

Im Searchplugin (/search/search.php) müssen die Zeilen um 213:

$vars = array(‚[LINK]‘, ‚[TITLE]‘, ‚[DESCRIPTION]‘, ‚[USERNAME]‘,’[DISPLAY_NAME]‘,’[DATE]‘,’[TIME]‘,’[TEXT_LAST_UPDATED_BY]‘,’[TEXT_ON]‘,’[SEARCH_STRING]‘);

if($page[$fields[‚modified_when‘]] > 0) {

$date = gmdate(DATE_FORMAT, $page[$fields[‚modified_when‘]]+TIMEZONE);

$time = gmdate(TIME_FORMAT, $page[$fields[‚modified_when‘]]+TIMEZONE);

} else {

$date = $TEXT[‚UNKNOWN‘].‘ ‚.$TEXT[‚DATE‘];

$time = $TEXT[‚UNKNOWN‘].‘ ‚.$TEXT[‚TIME‘];

}

$values = array($link, ($page[$fields[‚title‘]]), ($page[$fields[‚description‘]]), $users[$page[$fields[‚modified_by‘]]][‚username‘], $users[$page[$fields[‚modified_by‘]]][‚display_name‘], $date, $time, $TEXT[‚LAST_UPDATED_BY‘], strtolower($TEXT[‚ON‘]),urlencode($search_string));

um die fettgedruckte Stellen ergänzt werden.

Damit ist werden die Stellen mit dem Treffen mit einem * umgeben, der Bereich kann dann mit CSS entsprechendhervorgehoben werden.

Wie Ihr seht ist das alles keine Zauberei sondern nur ein bissel Tricky 😉

Bis denne euer

Kay