Je traitais de refactoring de ma petite application web. toute la nuit. Aujourd'hui, quand j'ai commencé à tester, le premier bug que j'ai trouvé était un problème avec la fonction PHP système nl2br()
.comportement étrange PHP dans la fonction nl2br
Sur mon localhost J'ai la version PHP 5.2.9 et que je vois sur PHP site de la version 4.0.5 nl2br()
est XHTML conforme.
Ensuite, je ne comprends absolument pas pourquoi mon nl2br()
renvoie <br>
sans second argument mis à false au lieu de <br />
.
Voici ma méthode où j'ai trouvé ce bug:
public function eliminateTags($msg) {
$setBrakes = nl2br($msg);
$decodeHTML = htmlspecialchars_decode($setBrakes);
# Check PHP version
if((int)version_compare(PHP_VERSION, '4.0.5') == 1) {
$withoutTags = strip_tags($decodeHTML, '<br />');
} else {
$withoutTags = strip_tags($decodeHTML, '<br>');
}
return $withoutTags;
}
Je ne peux pas dire que je peux reproduire cela avec le dernier PHP 5.2 Le changelog ne dit rien à ce sujet. Avez-vous un script qui reproduit ce problème? – Artefacto
Comment vérifiez-vous les tags br? # Utilisez-vous Firebug (ou wathever outil similaire)? # cherchez-vous dans un fichier généré par votre script? # vérifiez-vous les chaînes générées par votre script? – Eineki
Il utilise '
' par défaut pour moi, avec 5.3.2. –