php 项目中 HTML 特殊元素的转换
PHP 项目开发过程中,经常需要对一些特殊字符进行处理,否则这些字符可能无法
按输出或输出乱码。下面对 HTML 标记中的一些常用特殊字符进行转换。
q &
转换为 &
q "
转换为 "
q '
转换为 '
q <
转换为 <
q >
转换为 >
“
其中, &”为 HTML
“
元素, &”为显示的字符串。例如,若想在页面正常输出如下代
码:
<a href='http://www.mingrisoft.com'>明日科技</a>
则需要在 HTML
“
代码中输入: < a href='http://www.mingrisoft.com'>明
日科技</a>”,否则,将不能按原义输出。
PHP 提供了下面的函数来自动转换为 HTML 元素。
1.htmlspecialchars()函数
该函数可以将某些特定的字符转换成在 HTML 中的显示方式。语法如下:
string htmlspecialchars(string str[,int quote_style[,string charset]]);
该函数将特殊字符转成 HTML 的字符串格式( &....;)。该函数只转换上面列出 5 种特殊字符。
示例:
使用 htmlspecialchars()函数将留言中特殊字符转成 HTML 的字符串格式,程序代码如下:
<?php
$word="<html><head><title><快乐豆吧留言>:</title></head></html>八月-中秋-不送礼,发
条短信£祝福£你,&健康快乐&长伴你,¤好运¤和你不分离,还有让我告诉你,$财神
¥已经跟随你。";
echo htmlspecialchars("$word");
?>
本示例的运行结果:<html><head><title><快乐豆吧留言>:</title></head></html>八月-中
秋-不送礼,发条短信£祝福£你,&健康快乐&长伴你,¤好运¤和你不分离,还有让我
告诉你,$财神¥已经跟随你。
注意:因为在源代码中加入了 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 种符号。