‘壹’ php htmlentities() 函数把字符转换为 HTML 实体。
什么叫实体化:就是将html标签(如“<”,“>”等)转化成用ASCII表示的形式。
举个例子:
<?php
$str="A'quote'is<b>bold</b>";
//Outputs:A'quote'is<b>bold</b>
echohtmlentities($str);
//Outputs:A'quote'is<b>bold</b>
echohtmlentities($str,ENT_QUOTES);
有啥作用:一般是过滤用户输入
‘贰’ php如何实现html内容生成图片
需要借助第三方扩展 wkhtmltopdf 可转成图片或者pdf
‘叁’ 关于php文本域中 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语句,所以,浏览器会将这个表现出来。
‘肆’ PHP页面原样显示html代码
使用PHP函数htmlspecialchars转换一下就可以了:
$str="Thisissome<b>bold</b>text.";
echohtmlspecialchars($str);
htmlspecialchars() 函数把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体。
转换后的字符输出,就能被浏览器直接显示了。
‘伍’ php输出html时转义,该怎么处理
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
语法:
htmlspecialchars(string,flags,character-set,double_encode)
预定义的字符是:
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >
htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。
语法:
htmlspecialchars_decode(string,flags)
会被解码的 HTML 实体是:
& 解码成 & (和号)
" 解码成 " (双引号)
' 解码成 ' (单引号)
< 解码成 < (小于)
> 解码成 > (大于)