Fonction PHP de content spinning : contenu texte généré
Article ajouté le 21/12/2018
Le content spinning permet de générer des textes et des paragraphes rapidement à partir de "spin" représentant le template de génération. On peut donc grâce à cette technique générer plusieurs textes aléatoirement à partir d'un template.
Ce n'est pas évident vu comme ça mais avec un exemple c'est beaucoup plus parlant. Je vous invite donc à découvrir l'exemple de spin suivant.
Exemple de spin
Le spin suivant représente votre template de génération. Grâce à la fonction de content spinning que vous retrouverez en fin de page, vous obtiendrez des textes générés.
$string = "{{ {{Effectuez|Réalisez}} {{{{votre|un}} devis|{{votre|une}} estimation}} en ligne.}}";
Textes générés
Voici quelques textes générés grâce à la fonction de spin et notre template ci-dessus.
Effectuez un devis en ligne.
Effectuez votre estimation en ligne.
Réalisez une estimation en ligne.
La fonction PHP
Et voici la fonction de spin qui vous permettra de générer vos textes. Je ne rentrerais pas dans les détails de sa composition car cela risque d'être compliqué à expliquer.
En revanche, j'attire votre attention sur la première ligne avec la fonction mt_srand() : Grâce à cette ligne, on peut indiquer à la fonction de générer un texte aléatoire en fonction de la page sur laquelle on se trouve. Cela permet d'avoir toujours le même texte en fonction de la page appelée. Vous pouvez donc supprimer cette ligne si vous souhaitez que votre texte soit toujours aléatoire sur une même page.
function Spin($txt)
{
mt_srand(crc32($_SERVER['REQUEST_URI']));
$pattern = '#\{([^{}]*)\}#msi';
$test = preg_match_all($pattern, $txt, $out);
if (!$test) return $txt;
$atrouver = array();
$aremplacer = array();
foreach($out[0] as $id => $match)
{
$choisir = explode("|", $out[1][$id]);
$atrouver[] = $match;
$aremplacer[] = $choisir[mt_rand(0, count($choisir)-1)];
}
$reponse = str_replace($atrouver, $aremplacer, $txt);
return Spin($reponse);
}
3 commentaires
@Jojo44 2019-02-04 20:13:47
Impec ce script ! Merci
Ce sera parfait pour la génération de texte sur un de mes sites web.
@tropito 2020-05-21 01:25:33
Bonsoir,
C'est vraiment surprenant comme on peut simplement générer à la volée une grosse quantité de phrases aléatoires avec si peu de code.
C'est parfait pour ce que je veux réaliser sur l'un de mes sites.
Merci à vous
@p3x 2020-05-21 01:35:01
Bonsoir @tropito,
C'est certain : c'est génial de générer des textes à la volée.
Mais il ne faut surtout pas oublier le fondamental pour son référencement naturel : Du texte bien fourni et unique est sans doute l'arme la plus affutée pour vaincre les méchants robots des moteurs de recherche.
Bref, cette fonction est tout de même à utiliser avec parcimonie.
Merci à toi pour ton commentaire.