abstract:<?php /** * 字符串中的html标签过滤与转换 * 1. nl2br():在换行符\n前插入html换行标记<br> * 2. htmlspecialchars(),将代码中的单双号号,&符与<和>转为html实体字符,不解析 *
<?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标记,可以设置允许保留的标记,很实用 */ //1. nl2br() // $str1 = "2018年世界杯 \n 中国除了足球队没有去,其它的都去了"; // echo $str1, '<br>'; //没有出现预想中的换行,因为浏览器将\n解析为一个空格 // //如果想让\n产生换行的效果,可以在前面加上一个<br>标签,尽管你可以使用很多方法实现,但系统提供一个更简单的方案 // echo nl2br($str1), '<hr>'; // $str3 = "<h1>我也是'一个&nbsp;有"故事"的人</h1>"; // //将字符串中html实体字符解析成正常的标签进行显示 // echo htmlspecialchars_decode($str3), '<br>'; // //3. htmlentities() 和 反操作:html_entity_decode() // $str4 = "<p>中美&贸\$易战,'中国'必胜</p>"; // //echo $str4; // echo htmlentities($str4),'<br>'; // echo '<hr>'; // //4.strip_tags()很实用的一个函数 // $str5 = ' // <form action="save" method="post"> // <input type="text" name="qq"><br> // <input type="password" name="password"><br> // <button type="submit">提交</button> // </form> // '; // echo $str5; // //过滤掉所有的html标签 // echo strip_tags($str5),'<br>'; // //保留span标签 // echo strip_tags($str5,'<span>'),'<br>'; //2. htmlspecialchars() 和反操作: htmlspecialchars_decode(), $str2 = '<h1>他是\'一个 有<span style="color:red;">"故事"</span>的人</h1>'; $str3 = "\n <!DOCTYPE html> \n <html> \n <head> \n <title></title> \n </head> \n <body> \n <!-- {include file = 'public/header'} --> \n <!-- 我是好人 {time} --> \n <form action='save' method='post'> \n <input type='text' name='qq'><br> \n <input type='password' name='password'><br> \n <button type='submit'>提交</button> \n </form> \n </body> \n </html>"; // //不转义输出 echo '不转义输出:',$str3, '<br>'; // //正常转义: ',",&,<,> echo '正常转义:', nl2br(htmlspecialchars($str3)), '<hr>';
Correcting teacher:查无此人Correction time:2019-05-23 13:20:06
Teacher's summary:完成的不错。php最多的就是字符串处理,常用的函数记住就行了。继续加油