php输出html时转义,该怎么处理

php输出html时转义,该怎么处理,第1张

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

语法:

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

预定义的字符是:

&(和号)成为 &amp

" (双引号)成为 &quot

' (单引号)成为 '

<(小于)成为 &lt

>(大于)成为 &gt

htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。

语法:

htmlspecialchars_decode(string,flags)

会被解码的 HTML 实体是:

&amp解码成 &(和号)

&quot解码成 " (双引号)

' 解码成 ' (单引号)

&lt解码成 <(小于)

&gt解码成 >(大于)

我们知道用户的输入永远是恶意的.....所以在入口需要做很多判断,过滤甚至限制 *** 作,比如特殊字符过滤,html编码,防sql注入等.今天说到的是如何在客户端用javascript进行 html编码/解码.肯定有人说道在服务器端一句代码就可以实现,为什么非要用javascript来实现,对,服务器端非常容易实现.比如ASP.NET 下.对用户输入只需要 Server.HtmlEncode / Server.HtmlDecode . 但如今ajax横行的时代,无处不在的无刷新模式.我们后台轻松编码后提交到数据库,但是可怜的前台如何进行编码呢,如果不编码,用户输入了<head>或者</div>那么你的页面马上面临着崩溃. 所以用到了javascript 来实现 html 编码/解码直接上代码:<script language=javascript>//编码function ToHtmlEnCode(str) {var s = ""if (str.length == 0) return ""s = str.replace(/&/g, "")s = s.replace(/</g, "<")s = s.replace(/>/g, "")s = s.replace(/ /g, "")s = s.replace(/\'/g, "'")s = s.replace(/\"/g, "")s = s.replace(/\n/g, "<br>")return s} function ToHTMLDeCode(str) {var s = ""

html中文乱码一般都是由于编码不一致导致,一般是代码声明或者浏览器默认的编码与文件保存的实际编码不一致造成的,解决的方法就是要代码中声明的代码要和文件保存的编码一致,这样中文就不会出现乱码的现象了。

工具原料:编辑器、浏览器

1、首先在html代码中声明字符集即编码,意思就是告诉浏览器以什么编码来解析本文件,代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<body>

<p>测试中文乱码</p>

</body>

</html>

2、以上代码的中的<meta charset="UTF-8">就是声明字符集使用的utf-8。

3、声明字符集后浏览器解析的时候就会以声明的字符集去解析文档,但是要保证解析的不乱码,就要保证文件保存时候的编码格式和声明的格式一致才行,如下图:

4、选择一致的utf-8编码后保存,运行的时候就可以保证中文不会乱码了,如下图:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7373614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存