Truc pour générer une balise HTML en PHP sans rien oublier

Prenons le cas où vous devez générer un lien HTML en PHP. Dans notre scénario, la valeur de l'attribut href est contenue dans une variable. Il en va de même pour le texte du lien.

Si, en bon débutant que vous êtes, vous vous lancez rapidement dans la programmation PHP, vous pourriez obtenir un résultat erronné.

Je vous expose ici un truc tout simple qui vous aidera à éviter les pièges.

▼Publicité

Voici un exemple du piège qui vous guette :

PHP

echo "<a href=$url>$texte</a> 

Voyez-vous l'erreur dans la balise générée ? Il manque les apostrophes de chaque côté de la variable $url. En effet, l'instruction PHP génèrera une balise du genre :

HTML

<a href=http://monsiteweb.com>Accédez à mon site Web</a>

alors que la balise à générer devrait plutôt être :

HTML

<a href='http://monsiteweb.com'>Accédez à mon site Web</a>

Voici donc quelques étapes simples qui vous éviteront de faire ce genre d'erreur.

  1. Écrivez sur papier la balise à générer en prenant soin d'utiliser des apostrophes (et non des guillemets) pour entourer les valeurs des attributs. L'utilisation d'apostrophes évitera les conflits avec les guillemets utilisés à la toute dernière étape.
    HTML

    <a href='http://monsiteweb.com'>Accédez à mon site Web</a>

  2. Dans la balise HTML, entourez les parties dont la valeur proviendra de variables.
    HTML

    <a href='http://monsiteweb.com'>Accédez à mon site Web</a>

  3. Remplacez ces parties par le nom des variables à utiliser.
    HTML

    <a href='$url'>$texte</a>

  4. Mettez le tout dans un echo en prenant soin d'entourer le tout par des guillemets. Rappel : l'utilisation de guillemets fait en sorte que les variables contenues dans la chaîne pourront être interprétées.
    PHP

    echo "<a href='$url'>$texte</a>";

Voilà, vous avez maintenant une instruction PHP qui génère du code HTML tout à fait valide.

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories