关于php文本域中 html标签转义的问题,望大家帮忙解决看看

关于php文本域中 html标签转义的问题,望大家帮忙解决看看,第1张

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

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

1、第一种是在HTML中加PHP。

<head>

<metahttp-equiv="Content-Type"content="text/htmlcharset=utf-8"/>

<metahttp-equiv="Content-Language"content="zh-CN"/>

<title>HelloWorld</title>

</head>

<body>

<?php

echo"Helloworld!这是正文"

?>

</body>

</html>

2、第二种用echo输出HTML。

因为HTML有的元素中有双引号,所以用echo输出的内容用单引号括起来,避免出错,也省了转义这一步。比如这样的代码:

<?php

if(!$_POST){

echo‘<formaction=""method="post">

服务器地址:<inputtype="text"name="host"value="localhost"/><br/>

数据库账号:<inputtype="text"name="user"value=""/><br/>

数据库密码:<inputtype="password"name="pwd"value=""/><br/>

指定数据库:<inputtype="text"name="db"value="test"/><br/>

<inputtype="submit"value="确定"/>

</form>‘

}

?>

3、第三种就是用(<<<)标记符了,这是在PHP168的模板代码中首次见到的。

<?php

print<<<EOT

<divclass="slidecont">{$label[deepblue_mainslide]}</div>

<divclass="newcontainter">

<divclass="head">{$label[deepblue_mainh1]}</div>

<divclass="cont"id="Tab1">{$label[deepblue_maint1]}</div>

<divclass="cont"id="Tab2">{$label[deepblue_maint2]}</div>

</div>

<ahref="$rs[url]"title="$rs[descrip]"target="_blank">$rs[name]</a>

EOT

?>


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

原文地址:https://54852.com/zaji/6273772.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存