PHP格式化输出文本区
发布人:zicky 时间:2007-11-21 23:17 来源: Php Question 查看: 285次
文本区(textarea)在 Web 页中用于接受用户输入的多行文本 。行在文本区中的显示不是无限长的,它受限于文本区的 rows 值,这意味着一个长行会自动折行,自动折行的行不论显示出来的是多少行,它在没有碰上换行符(回车操作)时,理论上都被视作一行。可以认为,文本区里的一行即为一段。
假设文本区的 name 参数命名为为 design_str,提交给 php 程序后将被视作变量 $design_str 。我们先给文本的开始处加入<p>标签,再通过 php 内置函数 str_replace 将换行符(“\r\n”)转换为“</p><p>”,接着在文本的末尾加入</p>标签,最后,整理一下整个字符串,使之按一组一组p标签的形式独立成行以美化代码,更重要的,是提高代码的可读性:
[php]$str=trim($design_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代码[/php]
这样,完整的html代码已经得到,它把用户在文本区里输入的各行文字都冠以标准的段落标签并分好了行,只要把它提交给相应的处理程序,它就能以规范的正文文本方式输出在浏览器中。以下链接指向一个处理文本区文字的示例,只要在其上输入或粘贴几段不包含html代码的纯文字,点击“转换代码”按钮,我们将会看到另一个文本区里的规范的html代码,再点击“输出”按钮,这些代码将被浏览器正确解析成常规的显示效果,用户可以通过查看该页面的源码证实 html 段落代码是否规范:
