标题:删除HTML标记的方法
只看楼主
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
结帖率:75%
 问题点数:0 回复次数:27 
删除HTML标记的方法

有的时候调用出来的内容里面含有HTML标记 而我们有不需要这些标记 这就要求我们把这些标记删除 总的说有两种方法 1,strip_tags函数 去掉 HTML 及 PHP 的标记。

语法: string strip_tags(string str);

返回值: 字符串

函数种类: 资料处理 内容说明

本函数可去掉字符串中包含的任何 HTML 及 PHP 的标记字符串。若是字符串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会返回错误。而本函数和 fgetss() 有着相同的功能。 2,正则表达式 下面是PHP语法的正则表达式 谨供参考 方法二:正则: function DelHtmlFlag($document) { // 用正则替换html标记,功能与 DealHtml 相同,来自php手册 /* $document 应包含一个 HTML 文档。 * 本例将去掉 HTML 标记,javascript 代码 * 和空白字符。还会将一些通用的 * HTML 实体转换成相应的文本。 */ $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript "'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记 "'([\r])[\s]+'", // 去掉空白字符 "'&(quot|#34);'i", // 替换 HTML 实体 "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(\d+);'e"); // 作为 PHP 代码运行 $replace = array ("", "", "\\1", "\"", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(\\1)"); $text = preg_replace ($search, $replace, $document); return $text; } 注:$代表变量

搜索更多相关主题的帖子: HTML 删除 
2005-08-04 11:38
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
目前还对PHP一窍不通,无法解答。而且这个应该出现在PHP专区吧?
2005-08-04 11:45
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
抛砖引玉

正则表达式基本原理是通用的
只不过是表现方式稍有区别

第一个是PHP内置函数

[此贴子已经被作者于2005-8-4 11:50:12编辑过]



2005-08-04 11:47
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 

下面的这个是ASP做的 大家看能不能用 <% Function cutStr(str) '去掉所有HTML标记 Dim re Set re=new RegExp re.IgnoreCase =True re.Global=True re.Pattern="<(.[^>]*)>" str=re.Replace(str,"") set re=Nothing Dim l,t,c,i l=Len(str) t=0 For i=1 to l c=Abs(Asc(Mid(str,i,1))) If c>255 Then t=t+2 Else t=t+1 End If

cutStr=str

Next cutStr=Replace(cutStr,chr(10),"") cutStr=Replace(cutStr,chr(13),"") cutStr=Replace(cutStr,chr(32),"") End Function %> <%=cutStr("<font color=red>hehe</font>")%>''实现这个函数


2005-08-04 14:06
suyongtao
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:33
帖 子:8674
专家分:127
注 册:2004-11-6
得分:0 
下面实验了,看看行不行,,

面朝大海,春暖花开!
2005-08-04 14:55
suyongtao
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:33
帖 子:8674
专家分:127
注 册:2004-11-6
得分:0 
alt='&lt;%=cutStr("rs1("detail")")%&gt; '这么写对不对,,

面朝大海,春暖花开!
2005-08-04 15:14
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
你要的是不是这种效果?




[此贴子已经被作者于2005-8-4 15:40:44编辑过]



2005-08-04 15:40
suyongtao
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:33
帖 子:8674
专家分:127
注 册:2004-11-6
得分:0 
是这种效果,不过效果不是很好,里面的格式不是对..

面朝大海,春暖花开!
2005-08-04 15:41
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5807
专家分:108
注 册:2005-4-7
得分:0 
那就把空格全部去掉

2005-08-04 15:46
suyongtao
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:33
帖 子:8674
专家分:127
注 册:2004-11-6
得分:0 
弄一下,,谢谢了,,

面朝大海,春暖花开!
2005-08-04 15:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-24311-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052920 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved