Pages 1 |
2 | 3 | 4
La prochaine étape "nettoie" cette
chaîne à l'aide des fonctions "strip_tags",
"strtolower"
et "htmlspecialchars".
Celles-ci permettent respectivement d'éliminer les tags HTML
et Php, de tout passer en minuscule, et de convertir les caractères
spéciaux en code HTML :
$contenu = strip_tags($contenu);
$contenu = strtolower($contenu);
$contenu = htmlspecialchars($contenu, ENT_QUOTES);
L'utilisation du paramètre facultatif "ENT_QUOTES"
dans la dernière fonction permet d'encoder à la fois
les doubles (par défaut) et les simples quotes.
Grâce à la communauté Php, et plus particulièrement
à Nexen.net
sur cet exemple précis, nous allons réutiliser deux
scripts qui vont nous permettre d'isoler les mots issus de notre
chaîne de caractères :
(Fonction split_words)
function split_words($string)
{
$retour = array();
$delimiteurs = " .!?,:(){}[]%\/";
$tok = strtok($string, " ");
while (strlen(join(" ",
$retour)) != strlen($string))
{
array_push($retour,
$tok);
$tok
= strtok ($delimiteurs);
}
return array_non_empty($retour);
}
Notons certaines des fonctions Php utilisées ici :
- strtok
: Découpe une chaîne de caractères selon les
délimiteurs qui lui sont passés en paramètre.
- array_push
: "Entasse" des éléments dans un tableau.
Cette première fonction retourne la chaîne passée
en paramètre dans un tableau de mots en conservant l'ordre
de la chaîne. Elle utilise une seconde fonction pour supprimer
les entrées vides d'un tableau :
(Fonction array_non_empty)
function array_non_empty($array)
{
$retour = array();
foreach ($array as $a)
{
if ((!empty($a))
&& (strlen($a) >= 3))
{
array_push($retour,
trim($a));
}
}
return $retour;
}
Nous avons rajouté dans cette fonction le test sur la longueur
de l'élement, qui doit être au moins égal à
trois caractères (nous ne souhaitons pas stocker des mots
plus petits) ainsi que le "trim"
afin de supprimer les espaces susceptibles d'entourer un mot (au
début ou à la fin).
Notez l'utilisation de l'instruction "foreach".
Nous ne rentrons pas dans le détail de toutes les fonctions
employées, elles sont bien documentées sur le site
Php.net, une traduction
en français est d'ailleurs disponible.
Pages 1 | 2
| 3 | 4
|