ASP编程:教你怎样在输入文本时交换失落一切HTML标...
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题html标志 只写给老手的,各先辈就别来看我搬门弄斧了。hehe常常看见有老手来问相似如许的话题,其实关于正则表达式我也不太懂。
昨世界午看了一下微软的正则表达式,少量了解。
明天也写个函数,只当理论,有误人的地方请指导。
上面是一个实例:
原文是如许的:"<a href=""blueidea.com""><strong>test1</strong></a> <b>test2</b> <font color=red>test3</font> test4"
<Script Language="VBScript">Function RegExpTest(patrn, strng,rewho) Dim Re,Match,Matches,RetStr RetStr=strng Set Re = New RegExp Re.Pattern = patrn Re.IgnoreCase = True Re.Global = True Set Matches = Re.Execute(RetStr) For Each Match in Matches Restr = ReStr & Match.Value& ","RetStr=replace(RetStr,match.value,rewho) Next Restr=replace(Restr,"<","<")Restr=replace(Restr,">",">") RegExpTest = "这是原文:"&strng&"<br>这是被交换失落的:"&ReStr&"<br>这就是剩下的了:"&RetstrEnd Functiondocument.write RegExpTest("(<[^{><}]*>)", "<a href=""blueidea.com""><strong>test1</strong></a> <b>test2</b> <font color=red>test3</font> test4","")</Script>
关头就在于<[^{><}]*>这个正则表达式,固然很复杂,但我仍是我凭我浅浅了解,给人人说一下。
HTML标志是以小于号“<”入手下手,以大于号“>”,停止的。
所以这个正则表达式中的一切大于小于号都代表HTML标志,不是特别字符。
“[”“]”方括号表达式中所包括的字符只婚配该括号表达式在正则表达式中
所处地位的一个单字符,我复杂的了解为,它是婚配某地位的单个字符。
“^”标志是特别符号,在方括号外面,前面跟的是列表字符,所以它的意思是
一切不在列表或局限中的字符。按我的了解他就相当于咱们法式中的“NOT”
所以方括号中的^{><}的意思就是,这个单字符非大于或非小于号。
外面的大括号去失落其实也一样。大括号也是特别字符
“*”也是特别符号 婚配后面的子表达式零次或屡次,
总的了解起来就是,在一个以小于号“”入手下手,并以大于号“”停止的标志,而且外面可以有多个的非大于或非小于号字符。如许也就婚配了HTML标志了。
呵呵,空话一堆
<%
Function RegExpTest(patrn,strng,rewho)
Dim re,Match,Matches
RetStr=strng
Set re = New RegExp //创立正则表达式
re.Pattern = patrn //创立正则表达式形式
re.IgnoreCase = True //是不是不辨别巨细写,你可以封闭,由于HTML标志是不辨别巨细写的。
re.Global = True //是不是全局可用
Set Matches = re.Execute(strng) //履行搜刮
For Each Match in Matches //遍历婚配纠合
RetStr=replace(RetStr,match.value,rewho) //找到区配字符,并入手下手交换
Next
RegExpTest = RetStr
End Function
content="<a href= test.asp >test1</a>test2 <strong>test3</strong> test4" //这是原文
pattern="<[^{><}]*>" //正则表达式形式,这里也能够了解成将要被交换失落的字符
Restr="" //将要交换成甚么字符
response.write RegExpTest(pattern,content,restr)
%>
如今就还有一个成绩。"<[^><]*>" 既然只婚配在一个以小于号“”入手下手,
并以大于号“”停止的标志,而且外面可以有多个的非大于或非小于号字符。
那末如许的<a href=<b>>就只被婚配一次了,由于<a ***>里还有HTML标志<b>所
以,不克不及婚配<a ***>,只能婚配<b>,那如许剩下的就是<a href=>
等于说其实不会把一切的HTML都婚配失落。。。
我这里也有一个傻瓜的举措。就是履行RegExpTest函数两次
<%
Function RegExpTest(patrn,strng,rewho)
Dim re,Match,Matches
RetStr=strng
Set re = New RegExp //创立正则表达式
re.Pattern = patrn //创立正则表达式形式
re.IgnoreCase = True //是不是不辨别巨细写可以封闭,由于HTML标志不辨别巨细写
re.Global = True //是不是全局可用
Set Matches = re.Execute(strng) //履行搜刮
For Each Match in Matches //遍历婚配纠合
RetStr=replace(RetStr,match.value,rewho) //找到区配字符,并入手下手交换
Next
RegExpTest = RetStr
End Function
content="<a href=<b>>test<>" //这是原文
pattern="<[^{><}]*>" //正则表达式形式,这里也能够了解成将要被交换失落的字符
Restr="" //将要交换成甚么字符
Stest=RegExpTest(pattern,content,restr)
response.write RegExpTest(pattern,STest,restr)
%>
如许是可以,可是如果原文大一点的话必定会影响速度的,高手们是不是有更好的举措呀。
别的这个函数还有别的一个用途。信任人人都晓得GOOGLE搜刮出来的关头字都是加了
白色的了,一样,用这个函数也能够做到的。
好比说我想把"<a href=""blueidea.com""><strong>test1</strong></a> <b>test2</b> <font color=red>test3</font> test4中的es都酿成白色,
那这个函数就如许挪用。RegExpTest("es",原文,"<font color=red>es</font
<P>>"
上面测试一下吧。
<script language="VBS">Function RegExpTest(patrn,strng,rewho) Dim re,Match,Matches RetStr=strng Set re = New RegExp //创立正则表达式 re.Pattern = patrn //创立正则表达式形式 re.IgnoreCase = True //是不是不辨别巨细写,你可以封闭,由于HTML标志是不辨别巨细写的。 re.Global = True //是不是全局可用 Set Matches = re.Execute(strng) //履行搜刮 For Each Match in Matches //遍历婚配纠合RetStr=replace(RetStr,match.value,rewho) //找到区配字符,并入手下手交换 Next RegExpTest = RetStrEnd Functioncontent="<a href=""blueidea.com""><strong>test1</strong></a> <b>test2</b> <font color=red>test3</font> test4" //这是原文pattern="es" //正则表达式形式,这里也能够了解成将要被交换失落的字符Restr="<font color=red>es</font>" //将要交换成甚么字符document.write RegExpTest(pattern,content,restr) </script>
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的东西可是什么都要收钱的啊! 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]
2