| 12
 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