améliorer css + pb double affichage + découpage aperçu

This commit is contained in:
Fred Tempez 2020-08-18 19:07:28 +02:00
parent dd39587938
commit 8bc087bc89
3 changed files with 29 additions and 36 deletions

View File

@ -35,7 +35,7 @@ class search extends common {
public static $defaultButtonText = 'Rechercher'; public static $defaultButtonText = 'Rechercher';
public static $defaultPlaceHolder = 'Que recherchez-vous ?'; public static $defaultPlaceHolder = 'Entrez un plusieurs mots-clés.';
const SEARCH_VERSION = '1.1'; const SEARCH_VERSION = '1.1';
@ -211,37 +211,29 @@ class search extends common {
$dejavu = ''; $dejavu = '';
$total = ''; $total = '';
$resultat= ''; $resultat= '';
// Recherche des occurrences $occu = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE);
do { if ($occu !== false && !empty($matches[0]) ) {
$occu = preg_match_all($motclef,$contenu,$matches,PREG_OFFSET_CAPTURE); if ($titre !== $dejavu) {
if ($occu !== false && !empty($matches[0]) ) { $resultat = '<h3><a class="searchTitle" href="./?'.$url.'" target="_blank" rel="noopener">'.$titre.'</a></h3>';
/*echo "<pre>"; }
print_r($matches); $dejavu = $titre;
echo "</pre>";*/ $nboccu .= count($matches[0]);
if ($titre !== $dejavu) { foreach ($matches[0] as $key => $value) {
$resultat = '<p><a href="./?'.$url.'" target="_blank" rel="noopener">'.$titre.'</a></p>'; // Création de l'aperçu
} // Eviter de découper avec une valeur négative
$dejavu = $titre; $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50;
$nboccu .= count($matches[0]); // Eviter de découper avec une valeur au-delà de la longueur
foreach ($matches[0] as $key => $value) { $d = $value[1] - 50 < 0 ? 1 : $value[1] - 50;
// Création de l'aperçu // Rechercher l'espace le plus proche
// Eviter de découper avec une valeur négative $d = $d > 1 ? strpos($contenu,' ',$d) : $d;
$d = $value[1] - 50 < 0 ? 1 : $value[1] - 50; // Découper l'aperçu
// Rechercher l'espace le plus proche $t = substr($contenu,(int) $d ,200);
$d = strpos($contenu,' ',$d); // Applique une mise en évidence
// Découper l'aperçu $t = preg_replace($motclef, '<span class="searchKeyword">\1</span>',$t);
$t = substr($contenu,(int) $d ,200); // Sauver résultat
// Applique une mise en évidence $resultat .='<div class="searchResult">'.$t.'...</div>';
$t = preg_replace($motclef, '<span class="evidence">\1</span>',$t);
// Sauver résultat
$resultat .='<div class="line">...'.$t.'...</div>';
}
} }
// Pour recherche d'une autre occurrence dans le même contenu
$contenu = substr($occu,10);
} }
while($occu != '');
self::$nbResults = self::$nbResults + $nboccu; // Nombre total d'occurences self::$nbResults = self::$nbResults + $nboccu; // Nombre total d'occurences
return $resultat; return $resultat;
} }

View File

@ -19,7 +19,7 @@
<div class="row"> <div class="row">
<div class="col6"> <div class="col6">
<?php echo template::text('searchSubmitText', [ <?php echo template::text('searchSubmitText', [
'label' => 'Texte du bouton de soumission', 'label' => 'Texte du bouton',
'value' => $this->getData(['module', $this->getUrl(0), 'submitText']), 'value' => $this->getData(['module', $this->getUrl(0), 'submitText']),
'placeholder' => $module::$defaultButtonText 'placeholder' => $module::$defaultButtonText
]); ?> ]); ?>

View File

@ -1,8 +1,9 @@
.evidence { .seachTitle {
/* rien */
}
.searchKeyword {
background: yellow; background: yellow;
} }
.line { .searchResult {
font-style: italic; margin: .8em 0 .8em 0.5em;
margin: .5em;
margin-left: 1em;
} }