php函数怎么转换html中的特殊字符

php函数怎么转换html中的特殊字符,第1张

方法/步骤

1

htmlspecialchars()转义特别的字符为HTML实体

'&' (ampersand) becomes '&' '"' (double quote) becomes '"' when ENT_NOQUOTES is not set. ''' (single quote) becomes ''' only when ENT_QUOTES is set. '<' (less than) becomes '<' '>' (greater than) becomes '>'

2

htmlspecialchars_decode()将实体转成HTML代码,函数1的反函数。

3

htmlentities()

这个是全部转换html实体,和htmlspecialchars()区别在于,这个函数是转义全部的字符,而htmlspecialchars()仅仅转义上面限定的5个特殊字符!

html_entity_decode() 函数

把 HTML 实体转换为字符。

经本人测试,据我的理解,问题的原因应该不是脚本的问题,你用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语句,所以,浏览器会将这个表现出来。


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

原文地址: http://outofmemory.cn/zaji/6123696.html

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

发表评论

登录后才能评论

评论列表(0条)

保存