>  기사  >  php教程  >  PHP去除回车换行符与敏感html标签

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

WBOY
WBOY원래의
2016-06-08 17:23:251093검색

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

<script>ec(2);</script>

在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("
","",$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与换行实例

 代码如下 复制代码

// $document 应包含一个 HTML 文档。
 
$search = array ("'<script>]*?>.*?</script>'si", // 去掉 javascript
"']*?>'si", // 去掉 HTML 标记
"'([rn])[s]+'", // 去掉空白字符
"'&(quot|#34);'i", // 替换 HTML 实体
"'&(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"); // 作为 PHP 代码运行
$replace = array ("","","\1",""","&",""," ",chr(161),chr(162),chr(163),chr(169),"chr(\1)");
$text = preg_replace($search,$replace,$document);
?>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.