Verwendung von Zeilenumbrüchen und Beispielanalyse der PHP-Funktion nl2br() und der benutzerdefinierten Funktion nl2p()

墨辰丷
Freigeben: 2023-03-29 17:14:01
Original
1797 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Verwendung der PHP-Funktion nl2br() und der benutzerdefinierten Funktion nl2p() für den Zeilenumbruch vorgestellt. Er kombiniert Beispiele, um die Vor- und Nachteile der PHP-Funktion nl2br zur Implementierung der Zeilenumbruchfunktion und die Verwendungsfähigkeiten der benutzerdefinierten Funktion zu analysieren Die erforderliche Zeilenumbruchfunktion von nl2p kann sich auf das

Verwendungsszenario beziehen

In vielen Fällen verwenden wir einfach den Textbereich, um die lange Eingabe des Benutzers zu erhalten, ohne ihn zu verwenden ein Redakteur. Die vom Benutzer eingegebenen Zeilenumbrüche werden in der Form „n“ gespeichert. Manchmal gibt es bei der Ausgabe keine Zeilenumbrüche und es wird direkt ein großer Text ausgegeben. Zu diesem Zeitpunkt können Sie den Text entsprechend dem „n“ in der Bibliothek umbrechen. PHP hat seine eigene Funktion nl2br(), und wir können auch die Funktion nl2p() anpassen.

Werfen wir zunächst einen Blick auf die Funktion nl2br().

Definition und Verwendung

nl2br()-Funktion fügt vor jeder neuen Zeile (n) in einer Zeichenfolge ein HTML-Neuzeilenzeichen (
) ein.

Ein einfaches Beispiel:

<?php
$str = "Welcome to 
www.jb51.net";
echo nl2br($str);
?>
Nach dem Login kopieren

Der HTML-Code des laufenden Ergebnisses:

Welcome to <br />
www.jb51.net
Nach dem Login kopieren

nl2p

nl2br hat einen Nachteil. Beispielsweise ist die Verwendung von CSS zum Einrücken von Absätzen schwieriger. Ersetzen Sie den Zeilenumbruch br durch den Zeilenumbruch Absatz p. Es ist einfacher, ihn direkt zu ersetzen:

<?php
function nl2p($text) {
 return "<p>" . str_replace("\n", "</p><p>", $text) . "</p>";
}
?>
Nach dem Login kopieren

Für eine detailliertere Funktion können Sie Folgendes versuchen:

/**
 * 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;;
}
Nach dem Login kopieren

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er kann für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

PHP-Methode und Beispielcode zum Senden von AT-Befehlen

PHPArray Verwendung und Beispiele der Funktion array_walk

phpSchnellsortierungsprinzip und Implementierungsmethode und Beispielanalyse

Das obige ist der detaillierte Inhalt vonVerwendung von Zeilenumbrüchen und Beispielanalyse der PHP-Funktion nl2br() und der benutzerdefinierten Funktion nl2p(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage