php中去除文字内容中所有html代码
来源:互联网 发布:蜜桃tv源码 编辑:程序博客网 时间:2024/05/29 06:52
PHP已经为我们提供了很多清除html格式的方法了,下面就让老高介绍一下。
I. strip_tags
strip_tags($str) 去掉 HTML 及 PHP 的标记
语法: string strip_tags(string str);
传回值: 字串
函式种类: 资料处理
内容说明 :
解析:本函式可去掉字串中包含的任何 HTML 及 PHP 的标记字串。若是字串的 HTML 及 PHP标签原来就有错,例如少了大于的符号,则也会传回错误。这个函数和 fgetss()
例子
echo strip_tags("Hello world!");# Hello world!
II. htmlspecialchars
这个函数把html中的标签转换为html实体,博客的代码展示就必须使用这个函数,要不贴出来的代码就会被执行了。
预定义的字符是:
& (和号) 成为 &
” (双引号) 成为 ”
‘ (单引号) 成为 ‘
< (小于) 成为 < > (大于) 成为 >
例子
$new = htmlspecialchars("Test", ENT_QUOTES);echo $new; # <a href='test'>Test</a># 如果需要展现
,那么浏览器解析HTML的时候会自动将他变为换行# 但是通过htmlspecialchars就可以让< 变为 '
与htmlspecialchars功能相反的函数是htmlspecialchars_decode,他会把HTML实体转化为字符!
III. 后补函数
PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了
经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。
$descclear = str_replace("\r","",$descclear);//过滤换行$descclear = str_replace("\n","",$descclear);//过滤换行$descclear = str_replace("\t","",$descclear);//过滤换行$descclear = str_replace("\r\n","",$descclear);//过滤换行$descclear = preg_replace("/\s+/", " ", $descclear);//过滤多余回车$descclear = preg_replace("/<[ ]+/si","<",$descclear); //过滤<__("<"号后面带空格)$descclear = preg_replace("/<\!--.*?-->/si","",$descclear); //过滤html注释$descclear = preg_replace("/<(\!.*?)>/si","",$descclear); //过滤DOCTYPE$descclear = preg_replace("/<(\/?html.*?)>/si","",$descclear); //过滤html标签$descclear = preg_replace("/<(\/?head.*?)>/si","",$descclear); //过滤head标签$descclear = preg_replace("/<(\/?meta.*?)>/si","",$descclear); //过滤meta标签$descclear = preg_replace("/<(\/?body.*?)>/si","",$descclear); //过滤body标签$descclear = preg_replace("/<(\/?link.*?)>/si","",$descclear); //过滤link标签$descclear = preg_replace("/<(\/?form.*?)>/si","",$descclear); //过滤form标签$descclear = preg_replace("/cookie/si","COOKIE",$descclear); //过滤COOKIE标签$descclear = preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$descclear); //过滤applet标签$descclear = preg_replace("/<(\/?applet.*?)>/si","",$descclear); //过滤applet标签$descclear = preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$descclear); //过滤style标签$descclear = preg_replace("/<(\/?style.*?)>/si","",$descclear); //过滤style标签$descclear = preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$descclear); //过滤title标签$descclear = preg_replace("/<(\/?title.*?)>/si","",$descclear); //过滤title标签$descclear = preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$descclear); //过滤object标签$descclear = preg_replace("/<(\/?objec.*?)>/si","",$descclear); //过滤object标签$descclear = preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$descclear); //过滤noframes标签$descclear = preg_replace("/<(\/?noframes.*?)>/si","",$descclear); //过滤noframes标签$descclear = preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$descclear); //过滤frame标签$descclear = preg_replace("/<(\/?i?frame.*?)>/si","",$descclear); //过滤frame标签$descclear = preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$descclear); //过滤script标签$descclear = preg_replace("/<(\/?script.*?)>/si","",$descclear); //过滤script标签$descclear = preg_replace("/javascript/si","Javascript",$descclear); //过滤script标签$descclear = preg_replace("/vbscript/si","Vbscript",$descclear); //过滤script标签$descclear = preg_replace("/on([a-z]+)\s*=/si","On\\1=",$descclear); //过滤script标签$descclear = preg_replace("/
0 0
- php中去除文字内容中所有html代码
- Android提取HTML代码内的所有文字内容
- PHP去除字符串中所有空格
- Android中如何提取HTML源码内的所有文字内容
- 【php】PHP中去除字符串中所有的空格
- PHP中使用strip_tags() 去除html标签
- PHP 中如何去除 HTML 标签
- 去除html文本中所有html标签的看法
- php代码从html代码中提取出所有的图片返回数组
- php 去除数据中所有值里的空格
- 文字隐藏代码,在HTML中隐藏某段文字
- java去除内容的html代码
- 从HTML代码中提取文字,去掉HTML的标记
- php使用strip_tags从字符串中去除html标记
- 用php过滤网页中所有的html,css,js代码
- js中去除所有空格
- 取出html代码中的一段文字 去除html标签
- 删除字符串中所有html标签,保留标签内容
- ajax03——留言板
- MySQL报错“ Incorrect integer value: '' for column 'XXXX' at row 1 ”
- 初识Redis
- 鼠标经过table表里行时改行的背景…
- CSS 实现 LI 鼠标…
- php中去除文字内容中所有html代码
- SecureCRT中文乱码解决方法(linux…
- MySQL错误信息:-bash:mysql:comma…
- UVa 1151 Buy or Build
- linux 如何登录mysql
- 鼠标经过table表里行时改行的背景…
- Linux下修改Mysql的用户(root)的密…
- Linux一键安装web环境全攻略phpstu…
- 错误:-bash: phpstudy:&nbsp…