php的strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes解释
php函数蛮多的,要完整的每个函数都理解深刻是个挺有挑战性的事情。
strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes这几个函数我想就需要专门的强化一下。
第一个函数:strip_tags,去掉 HTML 及 PHP 的标记
注意:本函数可去掉字串中包含的任何 HTML 及 PHP 的标记字串。若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误。而本函数和 fgetss() 有着相同的功能。fgetss是从文件中读取文件,并去掉html和php标记。
我们看一个例子:
- $str='
- 博客小子,BlogGuy,wayswang" />
- <link rel="alternate" title="BlogGuy" href="rss.php" type="application/rss+xml" />
- <link rel="stylesheet" href="templates/default/style.css" type="text/css" media="all" />
- <link rel="stylesheet" href="include/code.css" type="text/css" media="all" />
- <script type="text/javascript">
- var postminchars = parseInt("
- ';
- echo(strip_tags($str,100));
返回的结果是
可见虽然去除了html代码,但是空格格式之类的并没有去掉。
网上找到一个函数,但是我个人不是很满意,权作记录。
- unction cutstr_html($string, $sublen)
- {
- $string = strip_tags($string);
- $string = preg_replace ('/\n/is', '', $string);
- $string = preg_replace ('/ | /is', '', $string);
- $string = preg_replace ('/ /is', '', $string);
- preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $string, $t_string);
- if(count($t_string[0]) - 0 > $sublen) $string = join('', array_slice($t_string[0], 0, $sublen))."…";
- else $string = join('', array_slice($t_string[0], 0, $sublen));
- return $string;
- }
第二个函数:htmlspecialchars, 将特殊字元转成 HTML 格式
详细说本函数会转化一下字符
- $str='
- BlogGuy" />&&<"
- ';
- echo(htmlspecialchars($str));
BlogGuy" />&&<"
可见,本函数只转换以上4个字符,其他html标记是不转换的。所以康盛的uchome里面提供了另外一个函数可以选择
- //取消HTML代码
- function shtmlspecialchars($string) {
- if(is_array($string)) {
- foreach($string as $key => $val) {
- $string[$key] = shtmlspecialchars($val);
- }
- } else {
- $string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1',
- str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string));
- }
- return $string;
- }
第三个函数:htmlentities,将所有的字元都转成 HTML 字串
可能你还在遗憾htmlspecialchars只能处理4个html标记,现在你不要遗憾了,htmlentities是转化全部字符。不可无不强大,但是在我看来意义不大。
- $str='
- BlogGuy" />&&<##博客小子"
- ';
- echo(htmlentities($str));
返回结果
选择的理由是什么呢?
看源代码完全不知所云嘛!
第四个函数:stripslashes与addslashes本是一对,addslashes是使用反斜线引用字符串,stripslashes是还原addslashes引用的字符串。
该函数一般都是数据库查询之前就需要处理的必要步骤,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
看看例子吧
- $str='
- BlogGuy" />&&<##博客小子\\\"
- ';
- echo(addslashes($str));
结果
转载于:https://www.cnblogs.com/doseoer/p/4244173.html
php的strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes解释相关推荐
- PHP的转义函数 htmlspecialchars、strip_tags、addslashes解释
第一个函数:strip_tags,去掉 HTML 及 PHP 的标记 注意:本函数可去掉字串中包含的任何 HTML 及 PHP 的标记字串.若是字串的 HTML 及 PHP 标签原来就有错,例如少了大 ...
- PHP的htmlspecialchars、strip_tags、addslashes解释
2019独角兽企业重金招聘Python工程师标准>>> 第一个函数:strip_tags,去掉 HTML 及 PHP 的标记 注意:本函数可去掉字串中包含的任何 HTML 及 PHP ...
- PHP中 htmlspecialchars,htmlentities, nl2br函数
htmlspecialchars 将特殊字符转成 HTML 格式. 语法: string htmlspecialchars(string string); 返回值: 字符串 函数种类: 资料处理 内容 ...
- query.php?sl=,stripslashes_deep().?php stripslashes?php stripslashes和addsl
你是否正在寻找关于stripslashes的内容?让我把最简洁的东西奉献给你: php stripslashes和addslashes的区别 作者: 字体:[ ] 类型:转载 时间:2014-02-0 ...
- url存在宽字节跨站漏洞_【XSS漏洞】XSS漏洞相关总结v1.0
点击上方"公众号" 可以订阅哦! Hello,各位小伙伴周五晚上好~ 终于到了XSS漏洞的完结篇啦~~ 感觉本公众号写的最多的就是XSS,现在可以告一段落了... 让我们来看看第一 ...
- lamp兄弟连视频笔记
第一章 1.2 一 分号 结构定义语句 如for(;;){} if(){} while(){}... 功能执行语句,需要加";" 如$name = "zhang ...
- PHP字符串函数大全
PHP字符串函数大全 AddSlashes: 字符串加入斜线. bin2hex: 二进位转成十六进位. Chop: 去除连续空白. Chr: 返回序数值的字符. chunk_split: 将字符串分成 ...
- 用trie树实现输入提示功能,输入php函数名,提示php函数
参照刘汝佳的trie树 结构体 #include "stdio.h"#include"stdlib.h"#include"string.h" ...
- vim php tab 补全提示
在vimrc中加入下面这段,把方法名保存在一个文件中引入到字典中 set dictionary+=/home/lucifer/package/PHP_function.txt set comp ...
最新文章
- 【第二组】项目冲刺(Beta版本)第六次每日例会 2017/7/24
- [引]VS2005 之 Visual Basic 程序的结构
- 【转载】登录PDMS总是切换到Monitor,这是为什么?!
- Autofac在项目中应用的体会,一个接口多个实现的情况
- 通过IP判断登录地址
- seqkit根据基因id_基因家族成员的鉴定/基因在染色体上的位置
- php+pdo分页类
- LLVM LLD COFF格式分析
- 摄像头 RTSP 以及远程管理
- 远程给Linux系统更新安装RTX2080ti显卡驱动
- Windows平台的网速监控悬浮窗软件
- 面试算法高频压轴题——灯泡开关问题
- uni-app 报错:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件
- 鸿蒙系统概述(HarmonyOS)学习这一篇就够了!
- 如果还不知道这些跨境电商软件那你就亏了
- 最新韩小韩二次元高清图库api开源PHP网站源码
- acwing-Diango项目 (后半)
- AGC 自动增益控制
- arcgis不闭合线转面_如何将ArcGIS不闭合线转化为面
- 第二本书疯狂人类进化史20190623