在采集和保存数据的时候,经常发现不能自动添加p标签,导致所有段落都是一行,也就是没有段落,但是查看源代码的时候是有类似于txt文档的换行段落,对于多个空格和换行,浏览器只会把他当作一个空格处理,如果需要有段落,必须添加<p>标签。 在 html 规范里,与段落有关的标签之一是p标签,记作 <p>段落文字</p> 。由此分析,给文本区里的文字的每一行头尾加入p标签即可达到以 html 的方式格式化其文本的目的。 php接受文本区内容的方式是把文本区的全部字符当作一个单一的 string变量来实现,因此,行的概念并不直接,好在来自文本区的字符包含有回车符,一个回车符代表一行的结束,我们可以通过整个字符串的回车符识别该文本所包含的行,从而给各行加入p标签的起止符以便将段落分开。 假设采集得到的文本区 name 参数命名为str,提交给 php 程序后将被视作变量 $str。我们先给文本的开始处加入<p>标签,再通过 php 内置函数 str_replace 将换行符(”\r\n”)转换为”</p><p>”,接着在文本的末尾加入</p>标签,最后,整理一下整个字符串,使之按一组一组p标签的形式独立成行以美化代码,更重要的,是提高代码的可读性: function pstr($str){ $str=trim($str); // 取得字串同时去掉头尾空格和空回车 $str=str_replace("<br>","",$str); // 去掉<br>标签 $str="<p>".trim($str); // 在文本头加入<p> $str=str_replace("\r\n","</p>\n<p>",$str); // 用p标签取代换行符 $str.="</p>\n"; // 文本尾加入</p> $str=str_replace("<p></p>","",$str); // 去除空段落 $str=str_replace("\n","",$str); // 去掉空行并连成一行 $str=str_replace("</p>","</p>\n",$str); //整理html代码 return $str; } 这样,完整的html代码已经得到,可以将各行文字都冠以标准的段落标签并分好了行,只要把它提交给相应的处理程序,它就能以规范的正文文本方式输出在浏览器中。其他标签也可以采用类似的方法。 |