很多场合我们只是简单用textarea获取用户的长篇输入,而没有用编辑器。用户输入的换行以“\n”的方式入库,输出的时候有时候会没有换行,一大片文字直接出来了。这个时候可以根据库里的“\n”给文字换行。PHP有自带的函数nl2br(),我们也可以自定义函数nl2p()。

先来看看nl2br() 函数吧。

定义和用法

nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (

)。

一个简单的例子:

运行结果的HTML代码:

Welcome to

www.scutephp.com

nl2p

nl2br 有个缺点,比如要用CSS做到段落缩进就比较麻烦,这个时候就需要 nl2p 了。将br换行换成段落p换行,比较简单是直接替换:

" . 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([^\n

", ''), trim($string)).'';

else

return '

'.preg_replace("/([\n]{1,})/i", "\n

", trim($string)).'';

}

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

php中文本换行,PHP文本换行转函数nl2br()与nl2p()文本换行转p段落相关推荐

  1. 在html中怎么在按回车的时候换到下一个文本框_史上最全的HTML、CSS知识点总结,浅显易懂。适合入门新手...

    一,html+css基础 1-1 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTM ...

  2. Android中实现为TextView添加多个可点击的文本

    这篇文章主要介绍了Android中实现为TextView添加多个可点击的文本,可实现类似Android社交软件显示点赞用户并通过用户名称进入该用户主页的功能,是非常实用的技巧,需要的朋友可以参考下.具 ...

  3. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体)

    R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体) 目录

  4. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体)

    R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体) 目录

  5. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,使x轴和Y轴的标签文本都使用粗体字体)、注意是轴标签而非轴标题

    R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,使x轴和Y轴的标签文本都使用粗体字体).注意是轴标签而非轴标题 目录

  6. wxpython中的所有文本框都是TextCtrl,不同的形式的文本框通过样式来实现,下面创建了一个密码输入框...

    ''' wx.TE_CENTER:控件中的文本居中. wx.TE_LEFT:控件中的文本左对齐.默认行为. wx.TE_NOHIDESEL:文本始终高亮显示,只适用于Windows. wx.TE_PA ...

  7. tensorflow包_在Keras和Tensorflow中使用深度卷积网络生成Meme(表情包)文本

    作者 | dylan wenzlau 来源 | Medium 编辑 | 代码医生团队 本文介绍如何构建深度转换网络实现端到端的文本生成.在这一过程中,包括有关数据清理,训练,模型设计和预测算法相关的内 ...

  8. python中气泡图文字标签_Excel中制作气泡图及为气泡图的系列数据点添加文本数据标签...

    Excel中制作气泡图及为气泡图的系列数据点添加文本数据标签 时间:2014-08-01   作者:snow   来源:互联网 Excel中的散点图可以显示两组数据之间的关系,而气泡图则可以显示三组数 ...

  9. linux中vim文本编辑器的默认模式是,Linux 下 vi/vim 文本编辑器超详细使用指南

    Linux下的编辑器最经常使用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了不少实用的功能. 大多数的linux/unix 发行版本 ...

  10. 怎么在matlab 中制表符,matlab中用fprintf怎么写入空格 、制表符,回车换行等符号?...

    空格就是空格 制表符是\t 回车换行是\n (在window系统,一般回车换行要用连个符号\r\n) 例如: fprintf()函数,比如 x = 0:.1:1; A = [x; exp(x)]; f ...

最新文章

  1. 【OSX】build AOSP 2.3.7时的build error解决
  2. 倒计时一天 坚果智能影院让家用投影投出你的新生活主义
  3. linux watchdog demo hacking
  4. Windows Server 2008R2使用web方式修改域账户密码
  5. 凯盛机器人_机器人登场!水泥发运告别人工,粉尘危害降至最低
  6. HDU - 3068 最长回文(manacher)
  7. python123登录网页版_Python模拟登录验证码(代码简单)
  8. hashmap时间和空间复杂度_Python算法 00--时间复杂度和空间复杂度
  9. Java程序员最常犯的 10 个错误
  10. FarPoint Spread For .Net 4.0
  11. 一键生成人脸像素图,还能上传到动森!这个项目很好玩
  12. mysql中的extra是什么意思_1130mysql explain中的type列含义和extra列的含义
  13. 17 java 存在的问题(转)
  14. 联想服务器查看运行状态,服务器硬件批量监控工具
  15. linux分区文件ext4和ext3,在Windows 下读取 Linux 的 ext3/ext4 格式分区 -Ext2Read和Ext2Fsd...
  16. 地区三级联动数据库(中国行政区划分数据库)【2018年1月】
  17. python+opencv代码给证件照换底色
  18. 利用Scrapy编写“1024网站种子吞噬爬虫”,送福利
  19. 【数据库】关系数据模型
  20. Leetcode题347、前K个高频元素(Python题解)Amazon面试题

热门文章

  1. python网络图可视化_蜘蛛网图实现Python可视化的方法
  2. Python处理Excel文件(一)
  3. [笔记]深入解析Windows操作系统《一》概念和工具
  4. 服务器操作系统详解,深入解析Windows操作系统之总体架构
  5. 使用ComponentOne C1WebGrid控件
  6. Matlab2012b安装步骤(附带Matlab2012b破解码及序列号)
  7. BP神经网络及其app设计
  8. 电子设计大赛可以用linux开发板嘛,【一转再转】电子设计大赛应该怎么准备?...
  9. java le下载安装_JCreator LE
  10. gear操作系统 基于web的linux开放平台,支持Linux操作系统 开源飞机模拟器FlightGear...