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

在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
// $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);
?>

时间: 2024-10-07 17:45:27

PHP去除回车换行符与敏感html标签的相关文章

php去除字符串换行符示例

 这篇文章主要介绍了php去除字符串换行符示例,下面整理一下常见的去除换行的方法,需要的朋友可以参考下 第1种写法:  代码如下: <?php str_replace("n", '', $str);  ?>     第2种写法:  代码如下: <?php str_replace("rn", '', $str);  ?>     第3种写法:    代码如下: <?php preg_replace("/s/", '',

PHP 清除HTML代码、空格、回车换行符的函数

在写采集程序时,往往需要对采集回来的内容进行处理,比如删除HTML代码.去掉多余的空格.删除回车换行符等等.下面就写一个函数来处理. function DeleteHtml($str) { $str = trim($str); $str = strip_tags($str,""); $str = ereg_replace("\t","",$str); $str = ereg_replace("\r\n",""

求教RoR处理回车换行符问题

问题描述 我使用RoR的textarea标签作为输入框,录入文本数据(包含若干回车换行)并存储到mysql数据库中.结果在显示最终显示出来的时候,却发现文字变成了一堆,没有任何回车换行符.不知道为什么,望赐教!另外,还想请教如果是使用ror开发,怎么在非IDE环境下面进行调试和观察? 解决方案 直接:<%= simple_format @content %>哇哈哈

C++读取到回车换行符问题处理_C 语言

今天在编写99乘法在线小游戏(看过我的 linux下c实现的数据库备份(第四版)应该知道我在那里提过^.^)的时候遇到读取文件的信息遇到回车换行符的烦恼. 比如我文件里面有如下信息: name=qizexi sex=man 我希望读取到name=qizexi这些有效字符而已,不希望\r\n也加入其中,因为那样会影响我的判断. 解决的方式是在遇到\r获取\n的时候,替换为\0. #include<string.h> #include<stdio.h> int main(int arg

javascript获取到textarea文本框中的回车换行符

作者:王先荣 结论     javascript获取到textarea文本框中的字符串中,如果包含有回车换行符,在字符串中表现为"\n",而不是我们通常所见的"\r\n". 发现问题     今天在做小网站的时候,需要将用户输入的英文分号.中英文逗号及回车都替换成中文分号,在编javascript函数的过程中,总是无法正确的替换回车. 例如:用户在textarea中输入: 测试字符串1 测试字符串2 我们将textarea中的输入字符串保存到变量content中,下

phpcms v9编辑器ckeditor设置回车换行br为段落p标签

phpcms v9编辑器ckeditor设置回车换行<br>为段落<p>标签修改方法: 在staticsjsckeditorconfig.js中查找 config.enterMode 找到如下代码(如上图中):config.enterMode = CKEDITOR.ENTER_BR; config.shiftEnterMode = CKEDITOR.ENTER_P; 将BR换为P,P换为BR或者其它标签.(如两个同时为P或BR,将出现错误并无法正常显示编辑框.) 另:dedecms

java中替换去除字符串中的空格/回车/换行符/制表符

用String对象的方法replaceAll就可以了! replaceAll(String regex, String replacement)           使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串. 示例代码:  代码如下 复制代码 public class T3 { public static void main(String args[]) {  String str="aa bb cc";  System.out.prin

JSON数据回车换行符的处理

事情是酱事儿的,某接口返回结果是JSON数据,我这边处理一番返回给页面JS.但是吧,JS在处理JSON的时候报了这个错误:Unexpected token ILLEGAL,导致中止. 网上找了一番,自己试了一番,于是总结一番. 返回的结果是酱事儿的:  代码如下 复制代码 {"status":"1","info":{"date":"2013-12-01","content":"

php去除字符串换行符示例分享_php实例

第1种写法: 复制代码 代码如下: <?phpstr_replace("n", '', $str); ?> 第2种写法: 复制代码 代码如下: <?phpstr_replace("rn", '', $str); ?> 第3种写法: 复制代码 代码如下: <?phppreg_replace("/s/", '', $str); ?> 下面进行相关说明:首先说说 n,r,tn 软回车:在Windows中表示换行且回到