我爱自学

 找回密码
 会员注册

QQ登录

只需一步,快速开始

php htmlspecialchars函数作用及使用方法

PHP htmlspecialchars函数用于将字符串中特殊字符转换为 HTML 实体。本文分享htmlspecialchars函数作用及使用方法。
php htmlspecialchars函数作用?

函数把预定义的特殊字符转换为 HTML 实体。通俗一些的意思是:将& (和号)转换为 &," (双引号)成为 ",' (单引号)成为 ',< (小于)成为 <,> (大于)成为 >。

php htmlspecialchars()函数使用方法?

语法:

htmlspecialchars(string,flags,character-set,double_encode)

参数:

string 必须,规定要转换的字符串。

flags可选。规定如何处理引号、无效的编码以及使用哪种文档类型。可用的引号类型:

ENT_COMPAT - 默认。仅编码双引号。

ENT_QUOTES - 编码双引号和单引号。

ENT_NOQUOTES - 不编码任何引号。无效的编码:ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。

ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。

ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。规定使用的文档类型的附加 flags:ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。ENT_HTML5 - 作为 HTML 5 处理代码。ENT_XML1 - 作为 XML 1 处理代码。ENT_XHTML - 作为 XHTML 处理代码。

character-set 可选。一个规定了要使用的字符集的字符串。允许的值:UTF-8 - 默认。ASCII 兼容多字节的 8 位 UnicodeISO-8859-1 - 西欧ISO-8859-15 - 西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母)cp866 - DOS 专用 Cyrillic 字符集cp1251 - Windows 专用 Cyrillic 字符集cp1252 - Windows 专用西欧字符集KOI8-R - 俄语BIG5 - 繁体中文,主要在台湾使用,GB2312 - 简体中文,国家标准字符集,BIG5-HKSCS - 带香港扩展的 Big5,Shift_JIS - 日语,EUC-JP - 日语,MacRoman - Mac 操作系统使用的字符集,在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。

double_encode 可选,布尔值,规定了是否编码已存在的 HTML 实体。TRUE - 默认。将对每个实体进行转换。FALSE - 不会对已存在的 HTML 实体进行编码。

说明:

返回被转换的字符串,如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。
实例:

没有使用htmlspecialchars函数的情况
  1. <body>
  2.    <form action="demo.php" method="post">
  3.                 <h4>输入评论</h4>
  4.                 <textarea name="article_ms" id="article_ms" cols="30" rows="10"></textarea>
  5.                 <input type="submit" name="submit" value="点击提交评论内容">
  6.    </form>
  7. </body>
  8. </html>
  9. <?php
  10.   if(isset($_POST["article_ms"]))
  11.   {
  12.           $i =$_POST["article_ms"];
  13.           echo $i;
  14.   }
  15. ?>
复制代码
评论区输入 【这是我的评论<script>alert('hello 5izixue')</script>】这段内容,点击提交后,弹出对话框。这样的安全风险是非常大的。

php htmlspecialchars函数作用及使用方法

php htmlspecialchars函数作用及使用方法



  1. <?php
  2.   if(isset($_POST["article_ms"]))
  3.   {
  4.           $i =<b><font color="#ff0000">htmlspecialchars</font></b>($_POST["article_ms"]);
  5.           echo $i;
  6.   }
  7. ?>
复制代码

使用了htmlspecialchars函数后,输入同样的内容,点击提交只是输出了原样的内容,没有提现脚本的功能。

htmlspecialchars函数作用及使用方法

htmlspecialchars函数作用及使用方法



点击阅读更多内容!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

手机版|小黑屋|我爱自学 ( 蜀ICP备19015358号-3 )

GMT+8, 2024-4-27 07:07 , Processed in 0.091279 second(s), 57 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

本站大部分教程是网站原创教程,一部分教程为我爱自学(http://www.5izixue.com)编辑收集整理。

如果您需要转载我爱自学网站教程,请注明“资料来源:我爱自学(5izixue)”字样并注明本站网址。

编辑收集整理的教程版权归原作者所有,本站只提供网友交流学习使用,请勿用于商业用途,如果该文章有任何侵犯您权益的地方,请联系我们(569705694@qq.com),我们将在第一时间进行处理!谢谢您的支持!

快速回复 返回顶部 返回列表