Activité-Paranormale


Red devil Information

Publicité

Rechercher

Développement

Apportez vos talents de codeur !

Développer

Visiteurs

Citations

Random quotation
Il n'y a d'homme plus complet que celui qui a beaucoup voyagé, qui a changé vingt fois la forme de sa pensée et de sa vie.
(Alphonse de Lamartine)

Événements - 18 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é