Chinaunix首页 | 论坛 | 博客
  • 博客访问: 691793
  • 博文数量: 143
  • 博客积分: 1554
  • 博客等级: 上尉
  • 技术积分: 1767
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-10 11:50
文章分类

全部博文(143)

文章存档

2017年(2)

2016年(5)

2015年(16)

2014年(25)

2013年(27)

2012年(16)

2011年(52)

分类: PHP

2016-08-23 11:38:21

PHP项目开发过程中,经常需要对一些特殊字符进行处理,否则这些字符可能无法按输出或输出乱码。下面对HTML标记中的一些常用特殊字符进行转换。
q   & 转换为 &
q   " 转换为 "
q   ' 转换为 '
q   < 转换为 <
q   > 转换为 >
其中,“&”为HTML元素,“&”为显示的字符串。例如,若想在页面正常输出如下代码:

则需要在HTML代码中输入:“< a href=''>明日科技”,否则,将不能按原义输出。
PHP提供了下面的函数来自动转换为HTML元素。
1.htmlspecialchars()函数
该函数可以将某些特定的字符转换成在HTML中的显示方式。语法如下:
string htmlspecialchars(string str[,int quote_style[,string charset]]);
该函数将特殊字符转成HTML的字符串格式( &....;)。该函数只转换上面列出5种特殊字符。
示例:
使用htmlspecialchars()函数将留言中特殊字符转成HTML的字符串格式,程序代码如下:

$word=" <快乐豆吧留言>:八月-中秋-不送礼,发条短信£祝福£你,&健康快乐&长伴你,¤好运¤和你不分离,还有让我告诉你,$财神¥已经跟随你。";
echo htmlspecialchars("$word");
?>
本示例的运行结果:<快乐豆吧留言>: 八月-中秋-不送礼,发条短信£祝福£你,&健康快乐&长伴你,¤好运¤和你不分离,还有让我告诉你,$财神¥已经跟随你。
注意:因为在源代码中加入了htmlspecialchars()函数,所以在留言信息中代码没有被解释执行。
2.htmlentities()函数
该函数用于把所有的HTML元素转换为显示字符串。语法如下:
string htmlentities(string str[,int quote_style[,string charset]]);
3.
html_entity_decode()函数
该函数用于把显示字符串转化为HTML元素。语法如下:
string html_entity_decode(string str[,int quote_style[,string charset]]);
str:表示原始字符串。
quote_style:可选参数,取值范围为如下:
q   ENT_COMPAT:只转换“&、"、<、>”4种符号。
q   ENT_QUOTES:只转换“&、'、"、<、>”5种符号。
q   ENT_NOQ UOTES:只转换“&、<、>”3种符号。
charset:指定了在转换过程中应用的字符集。
PHP 4.0及以上版本所支持的字符集参数如表1所示。
表1 PHP 4.0及以上版本所支持的字符集参数
字  符  集
别    名
说    明
ISO-8859-1
ISO-8859-1
西欧字符集
ISO-8859-15
ISO-8859-15
西欧字符集扩展
UTF-8
ASCII字符集
KOI8-R
Koi8-ru,koi8r
俄罗斯
cp1252
Windows-1252,1252
西欧字符集,Windows系统默认
GB2312
936
简体中文,国际标准字符集
Shift-JIS
SJIS,932
日文
EUCJP
EUCJP
日文
示例:
使用htmlentities()函数得到一个HTML语句的显示字符串,然后再使用html_entity_decode()函数重新把显示字符串转回HTML元素。程序代码如下:
阅读(1646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~