牛骨文教育服务平台(让学习变的简单)
博文笔记

关于在php中html标签的转换问题的解决

创建时间:2008-07-15 投稿人: 浏览次数:3033

 很多朋友在写php的时候,难免会遇到需要将html标签进行转义存储。比如存入数据库、xml文件等。而存储进去后,读取出来则需要转换成html输出。网上有许多人编写的转换函数,很长很难懂。其实php早就自带有这样的函数。大可不必自己编写。

下面分别介绍这两个函数。

1.htmlentities()函数:

说明:将html标签转换成特殊字符。例如将<script>转换成"&lt;script&gt;"

例子:

// An imaginary article submission from a bad user
//  it will redirect anyone to example.com if the code is run in a browser
$userInput = "I am going to hax0r your site, hahaha!
	<script type=&apos;text/javascript&apos;>
	window.location = &apos;http://www.example.com/&apos;
	</script>&apos;";
	
//Lets make it safer before we use it
$userInputEntities = htmlentities($userInput);

//Now we can display it
echo $userInputEntities;

由于最近csdn的控件比较垃圾,请将上面的$apos改成单引号。---呼!

上面的语句执行后,将生成下面的结果

I am going to hax0r your site, hahaha!
	<script type=&apos;text/javascript&apos;>
	window.location = &apos;http://www.88web.org/&apos;
	</script>&apos;

2.html_entity_decode()函数

说明:将htmlentities()函数转义过的字符串转成html标签。

例子:

$orig = "I&apos;ll /"walk/" the dog now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I will "walk" the <b>dog</b> now

echo $b; // I will "walk" the dog now
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。