字符串中的html标签过滤与转换

Original 2019-03-29 16:07:01 363
abstract:<?php /** * 字符串中的html标签过滤与转换 * 1. nl2br():在换行符\n前插入html换行标记<br> * 2. htmlspecialchars(),将代码中的单双号号,&符与<和>转为html实体字符,不解析 *    反操作: ht
<?php
/**
* 字符串中的html标签过滤与转换
* 1. nl2br():在换行符\n前插入html换行标记<br>
* 2. htmlspecialchars(),将代码中的单双号号,&符与<和>转为html实体字符,不解析
*    反操作: htmlspecialchars_decode(): 与htmlspecailchars()功能相反,将实体字符进行解析还原
* 3. htmlentities(): 将所有的html标记全部转实体,包括了htmlspecailchars中的标记,功能更强大
*    反操作: html_entity_decode()
* 4. strip_tags(): 过滤掉所有的html或php标记,可以设置允许保留的标记,很实用
*/
//在页面输出未经解析的html源码
$str = "我的家乡——东北的<span style='color:red;'>松花江</span>上";
echo htmlspecialchars($str) ,'<hr>';

//1. nl2br()
$str1 = "我的家乡 \n——东北的松花江上";
//$str1 = "我的家乡 <br> \n——东北的松花江上";
echo $str1,'<br>';
echo nl2br($str1) ,'<hr>';

//2. htmlspecialchars()  不解析html,只转换标签。对防止代码运行有作用。
//htmlspecialchars_decode() 函数把预定义的 HTML 实体转换为字符。
$str2 = "我的家乡——东北的<span style='color:red;'>松花江</span>上";
echo $str2.'<br>';
echo htmlspecialchars($str2). '<br>';
echo htmlspecialchars_decode($str2). '<hr>';
//3. htmlentities() 将所有的html标记全部转换成实体 反操作 html_entity_decode()
$str3 = "我的家乡——东北的<span style='color:red;'>松花江</span>上";
echo htmlentities($str3).'<br>';
echo html_entity_decode($str3).'<hr>';
//4. strip_tags() 过滤所有的html标签
$str4 = '<p>php是世界上<span style="color:red">最好的</span>编程语言吗?</p>';
echo $str4, '<br>';
echo strip_tags($str4) ,'<br>';
//参数可以设置保留的标签,保留下了span,去掉了P标签
echo strip_tags($str4,'<span>') ,'<hr>';




Correcting teacher:西门大官人Correction time:2019-03-30 10:46:12
Teacher's summary:总结 非常好,例子列举比较恰当,也很能说明问题。

Release Notes

Popular Entries