最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP函數(shù)nl2br()與自定義函數(shù)nl2p()換行用法分析

 更新時間:2016年04月02日 10:55:06   作者:nowamagic  
這篇文章主要介紹了PHP函數(shù)nl2br()與自定義函數(shù)nl2p()換行用法,結合實例形式分析PHP函數(shù)nl2br實現(xiàn)換行功能的優(yōu)缺點及自定義函數(shù)nl2p換行功能的使用技巧,需要的朋友可以參考下

本文實例講述了PHP函數(shù)nl2br()與自定義函數(shù)nl2p()換行用法。分享給大家供大家參考,具體如下:

使用情景

很多場合我們只是簡單用textarea獲取用戶的長篇輸入,而沒有用編輯器。用戶輸入的換行以“\n”的方式入庫,輸出的時候有時候會沒有換行,一大片文字直接出來了。這個時候可以根據庫里的“\n”給文字換行。PHP有自帶的函數(shù)nl2br(),我們也可以自定義函數(shù)nl2p()。

先來看看nl2br() 函數(shù)吧。

定義和用法

nl2br() 函數(shù)在字符串中的每個新行 (\n) 之前插入 HTML 換行符 (<br />)。

一個簡單的例子:

<?php
$str = "Welcome to 
m.fzitv.net";
echo nl2br($str);
?>

運行結果的HTML代碼:

Welcome to <br />
m.fzitv.net

nl2p

nl2br 有個缺點,比如要用CSS做到段落縮進就比較麻煩,這個時候就需要 nl2p 了。將br換行換成段落p換行,比較簡單是直接替換:

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

比較詳細的函數(shù),可以試下:

/**
 * 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>';
}

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據庫操作入門教程》及《php常見數(shù)據庫操作技巧匯總

希望本文所述對大家PHP程序設計有所幫助。

相關文章

  • PHP中的錯誤處理、異常處理機制分析

    PHP中的錯誤處理、異常處理機制分析

    在編寫php程序時,錯誤處理是一個重要的部分。如果程序中缺少錯誤檢測代碼,那么看上去很不專業(yè),也為安全風險敞開了大門
    2012-05-05
  • 解析php取整的幾種方式

    解析php取整的幾種方式

    本篇文章是對php取整的幾種方式進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 詳解JIT編譯器在PHP8中的工作原理

    詳解JIT編譯器在PHP8中的工作原理

    JIT是Just-In-Time 編譯的縮寫,是一種在運行時將高級源代碼編譯成機器碼的技術,JIT是PHP 8.0中最重要的新功能之一,JIT 編譯器的核心思想是將 PHP 源代碼分為熱代碼路徑和冷代碼路徑,本文給大家詳細介紹了JIT編譯器在PHP8中的工作原理,需要的朋友可以參考下
    2023-10-10
  • 采用header定義為文件然后readfile下載(隱藏下載地址)

    采用header定義為文件然后readfile下載(隱藏下載地址)

    有時候我們?yōu)榱穗[藏真實的下載地址,我們通過采用header定義為文件然后readfile下載,但這樣會加大服務器的負擔,一般不建議下載量比較大的文件
    2014-01-01
  • PHP中遇到的時區(qū)問題解決方法

    PHP中遇到的時區(qū)問題解決方法

    最近,在用PHP+MySQL編寫一個小程序的時候,發(fā)現(xiàn)一個問題:錄入數(shù)據庫的時間與實際時間差8小時,這和中國位于的東8區(qū)是符合的。由于數(shù)據庫時間是由PHP寫入的,那問題就出現(xiàn)在PHP中了。
    2015-07-07
  • php文件上傳 你真的掌握了嗎

    php文件上傳 你真的掌握了嗎

    你真的掌握php文件上傳技術了嗎?這篇文章就為大家整理了php文件上傳的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 新手菜鳥必讀:session與cookie的區(qū)別

    新手菜鳥必讀:session與cookie的區(qū)別

    以下是對php中session與cookie的區(qū)別進行了詳細的分析介紹,新手朋友們一定要過來參考下
    2013-08-08
  • php生成短網址/短鏈接原理和用法實例分析

    php生成短網址/短鏈接原理和用法實例分析

    這篇文章主要介紹了php生成短網址/短鏈接原理和用法,結合實例形式分析了php生成短網址/短鏈接的基本原理、實現(xiàn)方法與相關注意事項,需要的朋友可以參考下
    2020-05-05
  • php計算年齡精準到年月日

    php計算年齡精準到年月日

    這篇文章主要介紹了php計算年齡精準到年月日的方法,涉及php操作日期與字符串的相關技巧,非常簡單實用,需要的朋友可以參考下
    2015-11-11
  • PHP試題之RCEService正則回溯解答

    PHP試題之RCEService正則回溯解答

    這篇文章主要為大家介紹了PHP試題之RCEService正則回溯解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04

最新評論

隆子县| 玛沁县| 巨野县| 岚皋县| 勐海县| 镇雄县| 玛曲县| 白朗县| 资中县| 黑水县| 大关县| 翁源县| 芜湖市| 隆昌县| 余庆县| 胶南市| 翁牛特旗| 四平市| 海兴县| 建昌县| 旬邑县| 秭归县| 阜新市| 阿瓦提县| 云南省| 平原县| 阿拉善左旗| 江川县| 通化县| 清远市| 甘南县| 从化市| 沿河| 大理市| 金湖县| 皋兰县| 平顺县| 西昌市| 辽宁省| 荆州市| 东方市|