服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

PHP去除回车换行符与敏感html标签

时间:2016-04-27 13:08来源: 作者: 点击:
我们经常会在提交表单时发现数据库中有一些看不到的回车换行了,这样如果js调用就会出问题,下面我来介绍在php过滤回车换行方法. 在unix世界换行就用/n来代替,但是windows为了体现他的

我们经常会在提交表单时发现数据库中有一些看不到的回车换行了,这样如果js调用就会出问题,下面我来介绍在php过滤回车换行方法.

在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r,因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦,下面是PHP去除换行符的一些常见方法.

第一种写法,代码如下:

  1. $content=str_replace("n","",$content);   
  2. echo $content

第二种写法,代码如下:

str_replace("rn","",$str);

第三种写法,代码如下:

  1. $content=preg_replace("/s/","",$content);   
  2. echo $content

关于n,r,t

n 软回车:在Windows 中表示换行且回到下一行的最开始位置,在Linux、unix 中只表示换行,但不会回到下一行的开始位置.

r 软空格:在Linux、unix 中表示返回到当行的最开始位置,在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 n 的效果.

t 跳格(移至下一列)

在网站看到很多方法.结果都不不能用.一般是n这个符号换不掉,如果n符号清空了,还是会换行,一般是源码代码中有br标签,可以直接替换掉,代码如下:

  1. function DeleteHtml($str)  
  2. {  
  3. $str = str_replace("<br/>","",$str); 
  4. $str = str_replace("\t","",$str);  
  5. $str = str_replace("\r\n","",$str);  
  6. $str = str_replace("\r","",$str);  
  7. $str = str_replace("\n","",$str);  
  8. return trim($str); 
  9.  

注意,n前面的转义符号.

过滤html与换行实例,代码如下:

  1. <?php  
  2. // $document 应包含一个 HTML 文档。  
  3.    
  4. $search = array ("'<script[^>]*?>.*?</script>'si"// 去掉 javascript  
  5. "'<[/!]*?[^<>]*?>'si"// 去掉 HTML 标记  
  6. "'([rn])[s]+'"// 去掉空白字符  
  7. "'&(quot|#34);'i"// 替换 HTML 实体  
  8. "'&(amp|#38);'i",  
  9. "'&(lt|#60);'i",  
  10. "'&(gt|#62);'i",  
  11. "'&(nbsp|#160);'i",  
  12. "'&(iexcl|#161);'i",  
  13. "'&(cent|#162);'i",  
  14. "'&(pound|#163);'i",  
  15. "'&(copy|#169);'i",  
  16. "'&#(d+);'e"); // 作为 PHP 代码运行  
  17. $replace = array ("","","\1",""","&","<",">"," ",chr(161),chr(162),chr(163),chr(169),"chr(\1)");  
  18. $text = preg_replace($search,$replace,$document);  
  19. ?> 
  20.  
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容