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解码成 >(大于)

经本人测试,据我的理解,问题的原因应该不是脚本的问题,你用firebug进行观察会发现,当你传送post的时候,其中的html文本域内容已经进行了编码,但这个编码会在你脚本运行之前进行还原,所以,不会影响你的正则脚本运算。

据我的估计,原因在于:你在输入正则表达式的时候,可能不是太正确。以下是我的测试过程:

运行访问你的脚本,在文本域里将你的脚本源代码粘上,再在正则表达输入框里输入:

%<input

type(.*)/>%si

你查看网页源代码,其输出结果如下:

<pre>Array

(

[0]

=>

Array

(

[0]

=>

<input

type="submit"

name="button"

value="提交"

/>

)

[1]

=>

Array

(

[0]

=>

="submit"

name="button"

value="提交"

)

)

</pre>

说明,还是匹配到了html标签。

而第1个匹配项,在浏览器里会显示为一个html按钮,原因在于这是正规的html语句,所以,浏览器会将这个表现出来。

esc_html()(转义

Html)

esc_html()

函数用来转义

Html

代码,让

Html

代码不转义。

用法

esc_html(

$text

)

参数

$text

字符串)(必须)要转义的字符串。

默认值:None

返回值

(字符串)返回转义后的字符。

例子

echo

esc_html(

'<a

href="http://www.example.com/">A

link</a>'

)

上边的代码将输出:

WordPress

函数:esc_html()(转义

Html)

(为了防止浏览器转码,我直接截了一张图)

更多

此函数位于:wp-includes/formatting.php

esc_url()(过滤链接)

很多

URL

会有一些小错误,用

esc_url()

函数可以屏蔽或者修正这些错误,并且可以拒绝不安全的协议。

esc_url()

函数的工作内容:

默认拒绝不是下面协议的

URL:defaulting

to

http、https、ftp、ftps、mailto、news、irc、gopher、nntp、feed

telnet

删除无效字符和危险的字符

将字符转换成

HTML

实体字符

使用方法

esc_url(

$url,

$protocols,

$_context

)

参数

$url

(字符串)(必须)要被过滤的

URL.

默认值:None

$protocols

(数组)(可选)可以接收协议的数组,如果没有设置,则默认为:defaulting

to

http、https、ftp、ftps、mailto、news、irc、gopher、nntp、feed

telnet.

默认值:None

$_context

(字符串)(可选)如何返回

URL.

默认值:(字符串)display

返回值

(字符串)返回过滤后的链接。

例子

<?php

echo

esc_url(

'www.endskin.com'

)//输出:http://www.endskin.com

?>

更多

此函数位于:wp-includes/formatting.php


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存