| 
       
	我们经常会在提交表单时发现数据库中有一些看不到的回车换行了,这样如果js调用就会出问题,下面我来介绍在php过滤回车换行方法. 
	在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r,因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦,下面是PHP去除换行符的一些常见方法. 
	第一种写法,代码如下: 
	
		- 
			$content=str_replace("n","",$content);   
 
		- 
			echo $content; 
 
	 
 
	第二种写法,代码如下: 
	str_replace("rn","",$str); 
	第三种写法,代码如下: 
	
		- 
			$content=preg_replace("/s/","",$content);   
 
		- 
			echo $content; 
 
	 
 
	关于n,r,t 
	n 软回车:在Windows 中表示换行且回到下一行的最开始位置,在Linux、unix 中只表示换行,但不会回到下一行的开始位置. 
	r 软空格:在Linux、unix 中表示返回到当行的最开始位置,在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 n 的效果. 
	t 跳格(移至下一列) 
	在网站看到很多方法.结果都不不能用.一般是n这个符号换不掉,如果n符号清空了,还是会换行,一般是源码代码中有br标签,可以直接替换掉,代码如下: 
	
		- 
			function DeleteHtml($str)  
 
		- 
			{  
 
		- 
			$str = str_replace("<br/>","",$str); 
 
		- 
			$str = str_replace("\t","",$str);  
 
		- 
			$str = str_replace("\r\n","",$str);  
 
		- 
			$str = str_replace("\r","",$str);  
 
		- 
			$str = str_replace("\n","",$str);  
 
		- 
			return trim($str); 
 
		- 
			 
 
		- 
			} 
 
	 
 
	注意,n前面的转义符号. 
	过滤html与换行实例,代码如下: 
	
		- 
			<?php  
 
		- 
			 
 
		- 
			   
 
		- 
			$search = array ("'<script[^>]*?>.*?</script>'si",  
 
		- 
			"'<[/!]*?[^<>]*?>'si",  
 
		- 
			"'([rn])[s]+'",  
 
		- 
			"'&(quot|#34);'i",  
 
		- 
			"'&(amp|#38);'i",  
 
		- 
			"'&(lt|#60);'i",  
 
		- 
			"'&(gt|#62);'i",  
 
		- 
			"'&(nbsp|#160);'i",  
 
		- 
			"'&(iexcl|#161);'i",  
 
		- 
			"'&(cent|#162);'i",  
 
		- 
			"'&(pound|#163);'i",  
 
		- 
			"'&(copy|#169);'i",  
 
		- 
			"'&#(d+);'e");  
 
		- 
			$replace = array ("","","\1",""","&","<",">"," ",chr(161),chr(162),chr(163),chr(169),"chr(\1)");  
 
		- 
			$text = preg_replace($search,$replace,$document);  
 
		- 
			?> 
 
		- 
			 
 
	 
 
      
      (责任编辑:最模板) |