|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
兴趣可能会慢慢消亡,所以适当培养兴趣会激发自己无线的乐趣,有了乐趣,编程有啥难的。 <P>上面是我对这个成绩的处理进程,最初算是完整弄懂了,真是暗沟里几乎翻船 <P>1.必需晓得textarea中的换行符是 \n (团体检测发明按回车键是\n,仿佛在linux下是\r\n) <P>2.用nl2br之前,请细心看好手册注释,我就是弄愁闷了,普通都了解为将\n转换成<br >,其实不是的: <P>看php手册注释: <P>nl2br C Inserts HTML line breaks before all newlines in a string <P>Returns string with ‘<br />' inserted before all newlines <P>意思是说在 新的一行前拔出<br /> <P>w3cschool上的说法是: <P>nl2br() 函数在字符串中的每一个新行 (\n) 之前拔出 HTML 换行符 (<br />)。 <P>所以nl2br()可以拔出<br> 但 \n 照旧存在,好比说 字符串源码是:法式\n生涯网,咱们nl2br 以后就是 法式<br>\n生涯网 所以咱们看到的后果将是 <P>法式 <P>生涯网―――――――-换行了,由于源码中还有\n <P>3.用php函数,str_replace交换函数,好比str_replace(‘\n','<br />') ,成绩是交换并没有胜利,一向都没有交换失落,我弄了很久乃至入手下手嫌疑textarea中的换行符是否是\n,如今想一想真是太坚定了,o(∩_∩)o… 其实我经由测 分离交换 \n /n 后直觉告知我本人走进了逝世胡同,这不是处理成绩的体例,一定有哪里存在基本性毛病。俄然我想到了会不会是单引号或双引号的成绩呢,因而将str_replace(‘\n','<br />') 改成str_replace(“\n”,”<br />”),灵光闪现了,交换胜利。巨汗! <P>又翻开手册把单引号和双引号再看了一遍,最初长叹了一口吻,仍是本人基本的成绩啊,php随复杂,仍是要注重细节啊。 <P>手册中关于单双引号的注释很具体: 单引号
<P>指定一个复杂字符串的最复杂的办法是用单引号(字符 ‘)括起来。 <P>要暗示一个单引号,需求用反斜线(\)本义,和良多其它言语一样。假如在单引号之前或字符串开头需求呈现一个反斜线,需求用两个反斜线暗示。注重假如你试图本义任何其它字符,反斜线自己也会被显示出来!所以凡是不需求本义反斜线自己。 ――――C所以咱们用str_replace(‘\n','<br />')交换的 字符串中的 \n 而不是换行符,仿佛有些晕。也就是说单引号内的是字符串,php不做任何注释,这其其实其余中央用的时分都晓得,但没想到连换行符都不注释。
双引号
<P>假如用双引号(”)括起字符串,PHP 晓得更多特别字符的本义序列: <P>表格 6-1. 本义字符 <P>序列
寄义 <P>\n
换行(LF 或 ASCII 字符 0×0A(10)) <P>\r
回车(CR 或 ASCII 字符 0×0D(13)) <P>\t
程度制表符(HT 或 ASCII 字符 0×09(9)) <P>\\
反斜线 <P>\$
美元符号 <P>\”
双引号 <P>\[0-7]{1,3}
此正则表达式序列婚配一个用八进制符号暗示的字符 <P>\x[0-9A-Fa-f]{1,2}
此正则表达式序列婚配一个用十六进制符号暗示的字符 <P>另外,假如试图本义任何其它字符,反斜线自己也会被显示出来! ―――这下textarea换行的成绩了然了,不是换行符的成绩,也不是nl2br的成绩,是一切的转移只存在双引号中,单引号在php中只做字符处置。何等愁闷的毛病啊。今后必定的切记。
必需晓得textarea中的换行符是 \n (团体检测发明按回车键是\n,仿佛在linux下是\r\n)
这句有成绩:经由我的测试,在windows下是\r\n,在linux才是\n(这个没实测),别的,在win下,\r,\n均有换行的功效... 让好朋友来看看,嘿,看咱写的多棒,然后再在网上宣传一下。 |
|