PHP gethighlightedsencence – Functie van de maand – maart 2019

De volgende functie maakt het gemakkelijk om resultaten uit een zoekopdracht weer te geven. Het geeft de eerste 2 regels waarin een of meerdere zoekwoorden voorkomen terug en highlight deze zoekworden.

// find the 2 first sentences with words specified and highlight these words
function gethighlightedsentence($aContent,$aWords) {
	$Pattern="/([\.\?!:])[ ]([A-Z])/";

	$arrContent = preg_replace($Pattern,"$1 ~$2",strip_tags($aContent));

	$SentenceArray=split("~",$arrContent);
	$WordArray=split(" ",$aWords);
	if(!is_array($WordArray)) {
		$WordArray[0]=$aWords;
	}
	$Counter=0;
	$strOutput="";
	foreach($SentenceArray as $i => $Sentence) {
		$OutputSentence=$Sentence;
		foreach($WordArray as $j => $Word) {
			$Pattern=$Word;
			if(eregi($Pattern,$Sentence)!=0) {
				$OutputSentence=eregi_replace($Pattern,"<b><i>\\0</i></b>",$OutputSentence);
				$strOutput.="... " . $OutputSentence . " ...<br>";
				$Counter++;
			}
			if($Counter==2) {
				return($strOutput);
			}
		}
	}
	return($strOutput);
}