1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
<?php
ini_set('error_reporting', E_ALL); ini_set('display_errors', 0);
header('Content-type: text/html; charset=utf-8');
// +------ Fonction pour supprimer les keywords de 3 lettres et moins -------+
function RemoveLess($String,$Char=3)
{
$StringArray=explode (" ",$String);
foreach ($StringArray as &$Word)
{
if (mb_strlen($Word,"UTF-8")>$Char)
{
$Str.=$Word." ";
}
}
return trim($Str);
}
// +------ Fonction pour rechercher les keywords dans le texte et les afficher selon une position -------+
function get_snippet($keywordsy, $texte)
{
$snippet='';
$span = 140;
$strlen_max = 425;
$keywordsy = RemoveLess($keywordsy); // appel de la 1ère fonction
$keywordsy = preg_replace("#[\\\/:\*\?\(\)\%\&\+\#\"<>'\|]#ius", " ", $keywordsy) ; // Supprimer les caractères spéciaux
$keywordsy = trim(preg_replace("#( [[:alnum:]]{1,3} )#Ui", " ", " ".$keywordsy." ")); // ne garde que + de 3 caractères et ajout d'un espace avant et après
$texte = html_entity_decode("$texte", ENT_QUOTES); // Traiter le texte qui s'affiche selon les charset
$words = implode('|', explode(' ', preg_quote($keywordsy)));
preg_match_all("#(\W.{0,$span}\W)($words)(\W.{0,$span}\W)#ius", " $texte ", $matches);
foreach($matches[0] as $match)
{
if (!$match = trim($match)) continue;
if (isset($snippet)) $snippet .= "$match.. "; else $snippet = "...$match...";
if (mb_strlen($snippet.htmlspecialchars($match[0], ENT_QUOTES, 'UTF-8').".. ") > $strlen_max) break;
}
$snippet = preg_replace("#($words)#iu", '<b>$1</b>', $snippet);
return $snippet;
}
$texte ="Météo France : La meilleure info météo GRATUITE à 15 jours - La Chaîne Météo Mes favoris édition mon compte Alerte Météo France Montagne Monde Voyage Plage Marine Direct TV Actualités Vidéos Reporters mon compte mon espace se déconnecter + - Actualités Météo 00h02 Neige au Nord, fortes précipitations et vents au Sud 00h00 Météo de ce week-end : neige en plaine, risque d'inondations au sud-ouest 00h00 Météo Vendée Globe : contournement de l'anticyclone des Açores ! 00h00 Météo de ce samedi 23 janvier : vent violent en Corse, neige dans le nord Toute l'actu 1 /4 SUIVRE Guide météo voyage Météo France Alerte Orange - Neige au Nord, fortes précipitations et vents au Sud Consulter sur Toulouse l'alerte sam 23 janv. dim 24 janv. lun 25 janv. mar 26 janv. mer 27 janv. jeu 28 janv. ven 29 janv. sam 30 janv. dim 31 janv. lun 1 févr. mar 2 févr. mer 3 févr. jeu 4 févr. ven 5 févr. sam 6 févr. Sélectionnez votre massif Centre-Val de Loire Orléans Bourges Île-de-France Paris Pays de la Loire Nantes Provence-Alpes-Côte d'Azur Marseille Nice Corse Ajaccio Bretagne Rennes Brest Grand Est Strasbourg Troyes Charleville-Mézières Auvergne-Rhône-Alpes Lyon Montélimar Aurillac Bourgogne-Franche-Comté Dijon Nouvelle-Aquitaine Limoges Bordeaux La Rochelle Biarritz Occitanie Toulouse Montpellier Perpignan Normandie Rouen Cherbourg Hauts-de-France Lille Vents Décalage horaire : l'échéance demandée est déjà passée Ce Matin Cet Après-midi Ce Soir Cette Nuit Vents Le temps se refroidit.Une perturbation circule du sud-ouest au nord en apportant de la pluie parfois mêlée de neige jusqu'en plaine sur les régions du Nord. Un temps sec persiste quelques heures de la façade Est à la Méditerranée. Le vent souffle fort sur la côte aquitaine. Neige au Nord, intempéries en Corse : suivez l'évolution de la situation au 3201 * Bulletins Météo Météo du jour Bulletin France pour demain Météo week-end : plus froid, neige en plaine Météo à 4 semaines : tendance jusqu'au 21 février Prévisions saisonnières pour la suite de l'hiver et le printemps L'expertise météo , au coeur de l'info Application La Chaîne Météo Toute l'expertise de La Chaîne Météo concentrée dans son appli disponible sur smartphones et tablettes. Météo France Lyon Marseille Nice Paris Toulouse Beauvais Bobigny Épinal Poitiers Privas Saint-Brieuc Troyes";
$keywordsy ="météo+toulouse+décalage+troyes"; //va afficher les 425 premier caractères ??? seul le terme météo est traité
//$keywordsy ="troyes+météo"; // va aussi afficher les 425 premier caractères.. météo à trop de poids ?
//$keywordsy ="troyes+pertubation"; // va afficher 2 phrases avec Troyes mais sans pertubation
//$keywordsy ="troyes+toulouse"; // Coup de chance ? les deux termes sont présents
//$keywordsy ="météo+toulouse+prévisions+neige"; //va afficher les 425 premier caractères ??? mais par chance 2 termes s'y trouvent, donc le hasard fait bien les choses mais c'est pas le but
// Dans ce texte il y a : 18x météo, 7x neige, 3x toulouse, 2x troyes, 1x prévision et 1x décalage,
$description = get_snippet($keywordsy, $texte);
echo"$description";
?> |
Partager