<?php
$conf['search_description'] = 160;
$keywords = array('maison', 'vente', 'mornagia', 'manouba', '2013');
$description = 'Agence immobilière Dossenheim met en vente duplex a Jdaida d’une superficie 100m² composée d’un salon ,salle à manger, cuisine, 3 chambres à coucher, salle de bain et une salle d’eau ,d’un prix négociable 70MDT avec titre foncier indépendant Pour tout contact';
$plussize = 20;
$snippet = '';
$to=0;
$entre=0;
//$description = utf8_decode($description);
if(strlen($description) > $conf['search_description'])
{
$entre=0;
for ($c = 0; $c < count($keywords); $c++)
{
$current_keyword = $keywords[$c];
$keyword_pos = strpos(strtolower($description), $current_keyword);
if($keyword_pos === false)
$ddddd=1; //anything
else
{
$entre+=1;
$from = max(intval($keyword_pos - $plussize),0,$to);
$to = min(intval($keyword_pos + strlen($current_keyword) + $plussize),strlen($description)-1);
if ($from>0)
$part = '...';
else
$part = '';
$part .= mb_substr($description, $from, $to);
echo 'part' . $c . '=(' . $part . ') \n ';
if(preg_match('/\s/', $part, $m, PREG_OFFSET_CAPTURE)) {
$p1 = $m[0][1]+1;
} else {
$p1 = 0;
}
if(preg_match('/\s+(?=\S*+$)/', $part, $m, PREG_OFFSET_CAPTURE)) {
$p2 = $m[0][1]-5;
} else {
$p2 = 0;
}
//$p1 = (strpos($part,' ')=== false)?0:mb_strpos($part,' ')+1;
//$p2 = (strrpos($part,' ')=== false)?0:mb_strrpos($part,' ');
echo 'p1='.$p1;
echo ' p2 =' . $p2;
$snippet .= '[' . substr($part, $p1, $p2) . ']';
if ($to<strlen($description)-1)
$snippet .= '...';
}
}
if(strlen($snippet)< $conf['search_description'] && !empty($p2) && $p2<$conf['search_description'] )
$snippet = $snippet . substr($description,$p2+10,strlen($description)-1);
if(strlen($snippet)>0)
$description = $snippet;
}
echo $description;
preferences:
39.93 ms | 402 KiB | 5 Q