PHP函數nl2br()與自訂函數nl2p()換行用法分析,nl2brnl2p
本文執行個體講述了PHP函數nl2br()與自訂函數nl2p()換行用法。分享給大家供大家參考,具體如下:
使用情景
很多場合我們只是簡單用textarea擷取使用者的長篇輸入,而沒有用編輯器。使用者輸入的換行以“\n”的方式入庫,輸出的時候有時候會沒有換行,一大片文字直接出來了。這個時候可以根據庫裡的“\n”給文字換行。PHP有內建的函數nl2br(),我們也可以自訂函數nl2p()。
先來看看nl2br() 函數吧。
定義和用法
nl2br() 函數在字串中的每個新行 (\n) 之前插入 HTML 分行符號 (
)。
一個簡單的例子:
<?php$str = "Welcome to www.jb51.net";echo nl2br($str);?>
運行結果的HTML代碼:
Welcome to
www.jb51.net
nl2p
nl2br 有個缺點,比如要用CSS做到段落縮排就比較麻煩,這個時候就需要 nl2p 了。將br換行換成段落p換行,比較簡單是直接替換:
<?phpfunction nl2p($text) { return "" . str_replace("\n", "
", $text) . "
";}?>
比較詳細的函數,可以試下:
/** * 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 (
). * @return string */function nl2p($string, $line_breaks = true, $xml = true){ // Remove existing HTML formatting to avoid double-wrapping things $string = str_replace(array('', '
', '
', '
'), '', $string); // It is conceivable that people might still want single line-breaks // without breaking into a new paragraph. if ($line_breaks == true) return ''.preg_replace(array("/([\n]{2,})/i", "/([^>])\n([^<])/i"), array("
\n", ''), trim($string)).'
'; else return ''.preg_replace("/([\n]{1,})/i", "
\n", trim($string)).'
';}
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP運算與運算子用法總結》、《PHP網路編程技巧總結》、《PHP基本文法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程式設計有所協助。
您可能感興趣的文章:
- PHP常用字串操作函數執行個體總結(trim、nl2br、addcslashes、uudecode、md5等)
- 深入PHP nl2br()格式化輸出的詳解
- PHP字串函數系列之nl2br(),在字串中的每個新行 (\n) 之前插入 HTML 分行符號br
- PHP nl2br函數 將換行字元轉成 <br>
- PHP按行讀取檔案時刪除分行符號的3種方法
- php 字串中的\n分行符號無效、不能換行的解決方案
- php去除換行(斷行符號換行)的三種方法
- 解析PHP處理分行符號的問題 \r\n
- php中將html中的br分行符號轉換為文本輸入中的分行符號
- php去除分行符號的方法小結(PHP_EOL變數的使用)
- php代碼中使用換行及(\n或\r\n和br)的應用
http://www.bkjia.com/PHPjc/1117035.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1117035.htmlTechArticlePHP函數nl2br()與自訂函數nl2p()換行用法分析,nl2brnl2p 本文執行個體講述了PHP函數nl2br()與自訂函數nl2p()換行用法。分享給大家供大家參考,具...