登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

用正则表达式写的HTML分离函数  

2008-08-12 19:26:27|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

<%
Option Explicit

Function stripHTML(strHTML)

'Strips the HTML tags from strHTML

  Dim objRegExp, strOutput
  Set objRegExp = New Regexp

  objRegExp.IgnoreCase = True
  objRegExp.Global = True
  objRegExp.Pattern = "<.+?>"

  'Replace all HTML tag matches with the empty string
  strOutput = objRegExp.Replace(strHTML, "")
 
  'Replace all < and > with < and >
  strOutput = Replace(strOutput, "<", "<")
  strOutput = Replace(strOutput, ">", ">")
 
  stripHTML = strOutput    'Return the value of strOutput

  Set objRegExp = Nothing
End Function


%>

<form method="post" id=form1 name=form1>
  <b>Enter an HTML String:</b><br>
  <textarea name="txtHTML" cols="50" rows="8" wrap="virtual"><%=Request("txtHTML")%></textarea>
  <p>
  <input type="submit" value="Strip HTML Tags!" id=submit1 name=submit1>
</form>

<% if Len(Request("txtHTML")) > 0 then %>
    <p><hr><p>
    <b><u>View of string <i>with no</i> HTML stripping:</u></b><br>
    <xmp>
    <%=Request("txtHTML")%>
    </xmp><p>
    <b><u>View of string <i>with</i> HTML stripping:</u></b><br>
    <pre>
    <%=StripHTML(Request("txtHTML"))%>
    </pre>
<% End If %>

 

       下面介绍一下正则表达式的特殊字符:
        “^”后接字符为字串开头:如"^b"匹配"bing"而不匹配"abc"
        “$”前接字符为字串末尾:如"g$"匹配"bing"而不匹配"fgh"
        “*”前接字符重复0~N次:如"go*gle"匹配"ggle"和"goooogle"
        “+”前接字符重复1~N次:如"go+gle"匹配"gogle"和"gooogle"而不匹配"ggle"
        “?”前接字符重复0或1次:如"go?gle"匹配"ggle"和"gogle"而不匹配"gooogle"
        “.”表示除换行符外的所有字符:如".b"匹配"ab","cb",".+"匹配不换行的所有字符串
        
        “|”表示“或”:如"ab|cd"同时匹配"ab"和"cd"而不匹配"abcd"    
        “( )”表示一或多个字符,从前往后,圆括号中的匹配字符串依次以$1,……$9,……返回:如"(bi(ng)z)hu(o)"中,$1代表"bi(ng)z",$2代表"ng",$3代表"o"
        “[ ]”中可有多个字符,但只表示其中一个:如"[xyx]"匹配"x","y","z"但不匹配"xyz",等同于"x|y|z";另,"[abcde]"这种连续字符可简写为"[a-e]","[abcde12345]"可简写为"[a-e1-5]"
        “[^ ]”表示除括号内字符以外的单个字符:如"[^xyz]"匹配"w","a"而不匹配"x","y";"[^abcde]"亦可简写为"[^a-e]"
        “{n}”n为一数字,表示前接字符重复次数:如"a{3}"表示"aaa"
        “{n,}”表示前接字符至少重复n次:如"a{3}"匹配"aaa"和"aaaaa"而不匹配"aa"
        “{n,m}”表示前接字符至少重复n次,至多重复m次
    
        “\”为转义字符,后接上述特殊字符时表示该字符:如"\?"表示"?","\["表示"["
        “\w”匹配数字+字母+下划线集合;“\W”匹配除“\w”外的其他字符
        “\d”匹配单个数字,“\D”匹配非数字

  评论这张
 
阅读(426)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018