Kévin Subileau

Espace personnel

lorem-ipsum

Générer un faux texte en une ligne de PHP

Lorsque l'on développe un site ou une application Web, il est souvent très utile de pouvoir remplir la base de données ou la page Web de faux texte, de type Lorem ipsum. En effet, cela permet de se concentrer sur le design et la mise en page sans pour autant avoir le contenu final de la page et sans que ce contenu ne détourne notre attention.

Mais plutôt que de copier/coller ces faux paragraphes sans cesse, saviez-vous qu'il est possible de le "générer" facilement avec une ligne de code PHP ? C'est plus classe, ça prend moins de place dans le code côté serveur, et surtout vous pouvez l'utiliser pour remplir la base de données et pas seulement pour l'afficher directement !

Le suspens a assez duré, voici le code en question :

$lipsum = simplexml_load_file('http://www.lipsum.com/feed/xml?amount=1&what=paras&start=0')->lipsum;

Bon, ok, j'ai un peu triché. En réalité, on ne génère pas réellement le lipsum en PHP, mais on utilise plutôt l'API du site lipsum.com. Mais peu importe, le but principal est atteint, on a un faux texte en une ligne de PHP !

Pour allez plus loin, vous pouvez transformer cette simple ligne en une fonction un peu plus évoluée qui vous permettra de contrôler un peu plus de paramètres sur le texte généré :

function generer_lipsum($quantite = 1, $type = 'paras', $lorem = false) {
    $url = "http://www.lipsum.com/feed/xml?amount=$quantite&what=$type&start=".($lorem?'yes':'no');
    return simplexml_load_file($url)->lipsum;
}

Où les paramètres sont :

  • $quantite : la quantité de texte à générer.
  • $type : l'unité de comptage de la quantité de texte : paras pour paragraphes, words pour mots, bytes pour octets ou lists pour des listes HTML. Ainsi, si vous définissez $quantite à 5 et $type à words, vous allez générer une phrase aléatoire de 5 mots.
  • $lorem : Si vrai, force le texte généré à débuter par "Lorem ipsum dolor sit amet...".

Voilà pour cette petite astuce qui me plait beaucoup et qui, je l'espère, vous plaira tout autant ! Et si vous en connaissez d'autres de ce style, n’hésitez pas à les partager en commentaire de cet article :D .