Activité-Paranormale


Red devil Information

Publicité

Rechercher

Développement

Apportez vos talents de codeur !

Développer

Visiteurs

Citations

Random quotation
Le pouvoir de l’homme s’est accru dans tous les domaines, excepté sur lui-même.
(Winston Churchill)

Événements - 3 juillet

Event Calendrier

Validation

Valid XHTML 1.0 Transitional Valid CSS!

Crystal ballTour de magie

AbductionRéparer une chaîne HTML en PHP

En récupérant du contenu via un WYSIWYG en PHP, il y a des risques que des balises HTML mal formatées apparaissent. Pour éviter ce désagrément, PHP nous fournit une bibliothèque intitulée "Tidy". Cette dernière permet de nettoyer et manipuler des éléments HTML.

Pour l'utiliser, il faut, selon votre situation, soit simplement l'activer (si vous utilisez WampServer, par exemple), soit l'installer.

Voici un exemple simple d'utilisation :

<?php
  ob_start();
?>

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>error</i>
  </body>
</html>

<?php
  $buffer = ob_get_clean();
  $tidy = tidy_repair_string($buffer);
  echo $tidy;
?>

Dans notre exemple, le code HTML est erroné. En effet, notre balise "<p>" n'est pas fermée et le mot "error" est entouré d'une balise fermante "i" jamais ouverte. La fonction "tidy_repair_string" va simplement nettoyer le code et nous renvoyer un HTML tout propre.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>error</p>
  </body>
</html>

La fonction susmentionnée a donc fermé la balise "p", supprimé la balise "i" et ajouté un "doctype".

Si vous souhaitez uniquement parser le "body" d'un HTML, il suffit d'appeler l'option "show-body-only" :

$str = “<p>error.”
tidy_repair_string($str, array('show-body-only' => true), "utf8");

echo $str;

Le code ci-dessus retournera le code HTML suivant :

<p>error.</p>

Pour plus d'informations :



PHP


Publicité