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
|
<?
function get_Keywords($string)
{
$string = str_replace("[", " [", $string);
$string = str_replace("]", "] ", $string);
$sExtractWords = preg_split("/[\s,]+/", $string);
$ListOfKeywords = array();
foreach($sExtractWords as $sWord){
if ($sWord<>"") {
if (($sWord[0]=="[")&&($sWord[strlen($sWord)-1]=="]")) {
$sKeyword = substr($sWord, 1, strlen($sWord)-2);
if (!in_array($sKeyword, $ListOfKeywords)) {
$ListOfKeywords[count($ListOfKeywords)] = $sKeyword;
}
}
}
}
return $ListOfKeywords;
}
// La chaîne à analyser
$chaine = "bonjour [civilité], [civilité] [nom] est l'heureux...";
echo "ENTREE: ".$chaine."<BR>";
// Extraction des différents mots-clés (ici "civilité" et "nom")
$tableau = get_Keywords($chaine);
// Construire ici la requête SQL à l'aide des mots-clés
foreach($tableau as $motcle){
if ($select=="") {
$select = $motcle;
}
else {
$select .= ", ".$motcle;
}
}
// $result = mysql_query("SELECT ".$select." FROM matable WHERE...");
// Ce qui donne: SELECT civilité, nom FROM matable WHERE..
// Imaginons un résultat... (une requête SQL donnera un tableau de ce genre
$row = array('civilité'=>'MR', 'nom'=>'FERRAND');
// Remplacement des données
foreach($tableau as $motcle){
$chaine = str_replace("[".$motcle."]", $row[$motcle], $chaine);
}
// Affichage du résultat
echo "SORTIE: ".$chaine."<BR>";
?> |
Partager