Explode, shuffle, implode

Il ne s’agit pas de terrorisme mais de fonctions php utiles pour manipuler des chaines et des variables tableaux (array). Un petit script vaut mieux qu’un long discours.

Précédent | 5/14 | Suivant

Voici un code qui récupère une page distante, en récupère le texte, puis en mélange le contenu :

<?php
// cette fonction récupère une page sur le net
function geturl($laurl){
        $data=null;
        if($http= fopen($laurl,"r")){
                while(!feof($http)){
                $data .=fgets($http,1024);       
                }
                fclose($http);
        }
        return($data);
}
// appel de la fonction avec l'adresse choisie
$data=geturl("http://codedrops.net/");

// on enlève tous les tags sauf les liens
$data=strip_tags($data,"<a>");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Un texte mélangé</title>
</head>
<body>
<h1>Le texte original</h1>
<?php
// le texte original, sans les tags à part les liens
echo $data;
?>
<h1>Le texte mélangé</h1>
<?php
// on sépare en utilisant les espaces dans un array
$data=explode(" ",$data);
// on melange l'array
shuffle($data);
// on réassemble le array en string en séparant par un espace
$mix=implode(" ",$data);
echo $mix;
?>
</body>
</html>

La fonction geturl() sert à récupérer le code d’une page distante. Une fois ce code brut récupéré, la fonction strip_tags() va permettre d’en expurger tous les tags. Un argument optionnel peut être ajouté à la fonction pour garder certains tags spécifiques. Ici, les liens.

Après avoir affiché le résultat de ces deux opérations, le script va faire trois choses :
- Utiliser explode() pour transformer le texte (techniquement c’est une chaine de caractère ou string) en une variable tableau (une liste numérotées d’éléments), en utilisant comme critère de coupure entre les éléments de la chaine ce qui se trouve entre les guillemets, ici un espace.
- La fonction shuffle() est faite pour mélanger un tableau.
- la fonction implode() fait l’inverse de explode : elle fabrique une chaine de caractères à partir d’un tableau, en intercalant ce qui se trouve entre guillements entre chaque élément du tableau.