Cet article présente principalement l'utilisation de la fonction PHP nl2br() et de la fonction personnalisée nl2p() pour le retour à la ligne. Il combine des exemples pour analyser les avantages et les inconvénients de la fonction PHP nl2br pour implémenter la fonction de retour à la ligne et les compétences d'utilisation de la fonction personnalisée. Fonction de retour à la ligne nl2p. Obligatoire Les amis peuvent se référer au
scénario d'utilisation
Dans de nombreux cas, nous utilisons simplement textarea pour obtenir la longue entrée de l'utilisateur sans utiliser un éditeur. Les sauts de ligne saisis par l'utilisateur sont stockés sous la forme de "n". Parfois, il n'y aura pas de saut de ligne lors de la sortie et un gros morceau de texte sortira directement. À ce stade, vous pouvez envelopper le texte selon le « n » dans la bibliothèque. PHP a sa propre fonction nl2br(), et nous pouvons également personnaliser la fonction nl2p().
Jetons d'abord un coup d'œil à la fonction nl2br().
Définition et utilisation
La fonction nl2br() insère un caractère de nouvelle ligne HTML (
) avant chaque nouvelle ligne (n) dans une chaîne.
Un exemple simple :
<?php $str = "Welcome to www.jb51.net"; echo nl2br($str); ?>
Le code HTML du résultat en cours d'exécution :
Welcome to <br /> www.jb51.net
nl2p
nl2br a un inconvénient. Par exemple, il est plus gênant d'utiliser CSS pour indenter les paragraphes. Dans ce cas, nl2p est nécessaire. Remplacez le saut de ligne br par le saut de ligne paragraphe p Il est plus facile de le remplacer directement :
<?php function nl2p($text) { return "<p>" . str_replace("\n", "</p><p>", $text) . "</p>"; } ?>
Pour une fonction plus détaillée, vous pouvez essayer :
/** * Returns string with newline formatting converted into HTML paragraphs. * * @param string $string String to be formatted. * @param boolean $line_breaks When true, single-line line-breaks will be converted to HTML break tags. * @param boolean $xml When true, an XML self-closing tag will be applied to break tags (<br />). * @return string */ function nl2p($string, $line_breaks = true, $xml = true) { // Remove existing HTML formatting to avoid double-wrapping things $string = str_replace(array('<p>', '</p>', '<br>', '<br />'), '', $string); // It is conceivable that people might still want single line-breaks // without breaking into a new paragraph. if ($line_breaks == true) return '<p>'.preg_replace(array("/([\n]{2,})/i", "/([^>])\n([^<])/i"), array("</p>\n<p>", '<br'.($xml == true ? ' /' : '').'>'), trim($string)).'</p>'; else return '<p>'.preg_replace("/([\n]{1,})/i", "</p>\n<p>", trim($string)).'</p>'; }
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il pourra être utile à l'étude de chacun.
Recommandations associées :
Méthode PHP et exemple de code pour l'envoi de commandes AT
phparray Utilisation et exemples de la fonction array_walk
phpPrincipe de tri rapide et méthode de mise en œuvre et exemple d'analyse
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!