Utilisation des sauts de ligne et exemple d'analyse de la fonction PHP nl2br() et de la fonction personnalisée nl2p()

墨辰丷
Libérer: 2023-03-29 17:14:01
original
1806 Les gens l'ont consulté

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);
?>
Copier après la connexion

Le code HTML du résultat en cours d'exécution :

Welcome to <br />
www.jb51.net
Copier après la connexion

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>";
}
?>
Copier après la connexion

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(&#39;<p>&#39;, &#39;</p>&#39;, &#39;<br>&#39;, &#39;<br />&#39;), &#39;&#39;, $string);
  // It is conceivable that people might still want single line-breaks
  // without breaking into a new paragraph.
  if ($line_breaks == true)
    return &#39;<p>&#39;.preg_replace(array("/([\n]{2,})/i", "/([^>])\n([^<])/i"), array("</p>\n<p>", &#39;<br&#39;.($xml == true ? &#39; /&#39; : &#39;&#39;).&#39;>&#39;), trim($string)).&#39;</p>&#39;;
  else 
    return &#39;<p>&#39;.preg_replace("/([\n]{1,})/i", "</p>\n<p>", trim($string)).&#39;</p>&#39;;
}
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal