分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

php ?截取文章内容生成纯文本摘要(去除html标签)

发布时间:2023-09-06 01:53责任编辑:胡小海关键词:暂无标签

废话少说,直接上代码:

$str = ‘<p> 
我是需要保留的文字</p><p> ?<br /></p><p> ?alsdkjf;laskjd;flasj;</p><p> ?asdjfasjd;lkafsj;lfdkj</p><p> ?aksdjfl;ak</p>‘;$subject = strip_tags($str);//去除html标签$pattern = ‘/\s/‘;//去除空白$content = preg_replace($pattern, ‘‘, $subject); ?
//需要注意的是,如果是截取汉字的时候,mb_substr需要加UTF-8参数,否则会出现乱码
echo mb_substr($content, 0, 40,"UTF-8"); //截取40个汉字

在此,提一下htmlspecialchars函数和strip_tags函数的区别:

$str="<a href=‘http://www.manongjc.com‘>码农教程‘\"</a>"; ?echo htmlspecialchars($str); ?echo "<br/><br/>"; ?echo strip_tags($str); ?

浏览器输出结果:

审查元素你会发现:

从结果可以看出htmlspecialchars() 和strip_tags的区别如下:

区别一:

strip_tags函数使用来去除HTML标签的,而htmlspecialchars并没有去除html标签,只是把标签转换为HTML实例,所以二者之间最大的区别是一个是删除掉HTML标签,一个是将html标签转换为其他字符。

区别二:

如果需要去除HTML标签的字符串里面的标签原来就有错,例如少了大于的符号,在使用strip_tags函数会传回错误,而htmlspecialchars不会有错误出现,依然后转换为HTML实体。

区别三:

在防止XSS攻击时,一般建议使用htmlspecialchars函数,因为strip_tags虽然可以删除HTML标签,但是它不会删除"或‘。因此就算你使用了strip_tags,仍然需要使用htmlspecialchars函数来过滤掉"或‘

在表单提交或用户留言板里,如果你希望数据原始输出带浏览器,那么请使用htmlspecialchars函数,不要使用strip_tags函数。

另外,在测试的时候发现了个很有趣的问题,在数据库里存的内容值是这样的:

$str = ‘&lt;p&gt; ?&lt;br /&gt;&lt;/p&gt;&lt;p&gt; ?&lt;img src=&quot;/Upload/image/2018-02-09/20180209132853_70302.gif&quot; alt=&quot;&quot; /&gt; &lt;/p&gt;&lt;p style=&quot;color:#6C6969;font-family:&amp;quot;font-size:14px;text-align:justify;background-color:#FFFFFF;&quot;&gt; ?彭于晏真得是用尽了全力,他苦练了八个月,几乎每天都进行10个小时以上的体操练习,为了保持八块腹肌的身材,他只吃水煮餐,不加任何调料。&lt;/p&gt;&lt;p style=&quot;color:#6C6969;font-family:&amp;quot;font-size:14px;text-align:justify;background-color:#FFFFFF;&quot;&gt; ?&lt;br /&gt;&lt;/p&gt;‘;

如果需要去除html标签时,需要用htmlspecialchars_decode函数处理一下,在使用strip_tags函数去除html标签。

php ?截取文章内容生成纯文本摘要(去除html标签)

原文地址:https://www.cnblogs.com/North-South/p/9021022.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved