php与asp/vbscript对input表单数组的处理比较

php与asp/vbscript对input表单数组的处理比较

arrayform

啥也不用说,自己运行吧,很简单的几个小文件。

本站www.path8.net是linux主机,不能运行asp,不然倒可以在线运行代码了 ^=^

结论是,php比asp/vbs更合理,更先进,不要犹豫了,全面转战php吧!

——谨以此献给有志从asp转php、有志向自由软件(也包括开源软件)贡献一份力的同学们。

 

asp/vbscript函数RemoveHTML(),正则表达式高效删除所有html标签,包括javascript及CSS标签

asp/vbscript 函数RemoveHTML(),正则表达式高效删除所有html标签,包括javascript及CSS标签<script...>xxx</script>与<style...>xxx</style>

''删除字符串中所有html标记,包括javascript及css代码区块,同时删除换行符
'' by fengyqf 20100929

Function RemoveHTML(str)
    Dim objRegExp, Match,strHTML
    if isnull(str) then
        str=""
    end if
    strHTML=str
    strHTML=replace(replace(replace(strHTML,vblf,""),vbcr,""),vbcrlf,"")

    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True

    objRegExp.Pattern = "<script[^>]*?>.*?</script>"
    strHTML  = objRegExp.Replace(strHTML,"")

    objRegExp.Pattern = "<style[^>]*?>.*?</style>"
    strHTML  = objRegExp.Replace(strHTML,"")

    objRegExp.Pattern = "<.+?>"
    strHTML  = objRegExp.Replace(strHTML,"")

    Set objRegExp = Nothing

    RemoveHTML=strHTML
End Function

asp vbscript报错“字符串空间不够”

asp vbscript报错"字符串空间不够"

写一个新产品的rss,把所有xml拼接到一个字符串里,然后一并response.write输出,但在服务器上运行时,出错了,asp/vbscript报错"字符串空间不够",出错的行,也确实是拼接字符串的行。

字符串还会空间不够,只有几百条产品的rss,感觉最大也只不过几十K的样子。怀疑是否是程序有错,但这样简单的程序,应该不会写错的,google一下,好像没有看到有用的东西,有两篇也是没有解决的“死”问题。看来还得自己解决。

根据错误提示,像是说字符串长度问题,也是是超出了vbs字符串允许的最大长度,印像中vbs不该这样超过长度——不是科班出身,没有系统的学过vbscript,不知道vbs的字符串是否有长度限制——

那就姑且当它是超过了允许最大长度,修改一下:既然是超过最大长度,那就让它分批输出,加上如下面代码中标红代码。

上传运行,正常,问题解决。

看来真的vbscript真的有字符串最大长度限制。

i=1
do while not rs.eof
if i mod 30=0 then
response.Write(str)
str=""
end if

str = str + "<item id="""&i&"""><title><![CDATA["&rs("title")&"]]></title>"& vbcrlf
str = str + "<link>"&linkurl&rs("id")&"</link>"& vbcrlf
str = str + "<description><![CDATA["&rs("title")&"<br>Number:"&rs("number")&"<br>"&left(rs("intro"),500)&"]]></description>"& vbcrlf
str = str + "<pubDate>"&rs("date")&"</pubDate>"& vbcrlf
str = str + "</item>"& vbcrlf
rs.movenext
i=i+1
loop
rs.close

php的文档里有这样一段话:

"注: 一个字符串变得非常巨大也没有问题,PHP 没有给字符串的大小强加实现范围,所以完全没有理由担心长字符串。"

但vbscript没有见过这样的说法,也可能是记串了。

“常见错误 不能打开注册表关键字” 与 “Provider 错误 ’80004005′ 未指定的错误”解决手记

常见错误   不能打开注册表关键字+Provider 错误 '80004005' 未指定的错误 解决手记

windows2003 sp2 web服务器新加一个站点,是asp+access的,遇到一个问题是:死循环。
[该服务器目前主要应用为php+mysql,asp+mssql,之前有几个access应该都已转成mssql。]
怀疑是因为iis用户需要对windows临时目录的权限,之前遇到这这种情况。于是修改代码,取消on error resume next(这套asp程序写得实在垃圾,有N多个,共用文件里有,非共用文件里也有),注释掉之后再运行,果然出现之前见过的这个错误
常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN 解决方法/asp+access
加入读写权限后,算是正常了,但多次出现如下的错误:

Provider 错误 '80004005'

未指定的错误

/inc/info.asp,行 24

在网上查询到(http://www.3v.org.cn/article/159.htm)如下

解决办法:

开始。。。运行。。。regsvr32 jscript.dll (命令功能: 修复Java动态链接库)
开始。。。运行。。。regsvr32 vbscript.dll(命令功能:修复VB动态链接库)
开始。。。运行。。。iisreset (命令功能:重启IIS)

常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN 解决方法/asp+access

Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80004005)
[Microsoft][ODBC   Microsoft   Access   Driver]常见错误   不能打开注册表关键字   'Temporary   (volatile)   Jet   DSN   for   process   0xbec   Thread   0xd34   DBC   0x3510024   Jet '。

首先检查程序里数据库路径没有写错
然后检查机器的C:WINDOWStemp有没有给IIS帐户“写入”权限
还要检查数据库所在目录是否有可读可写权限
然后尝试注册组件试一试
还有考虑把MSDTC组件卸载了重新安装一次

1、停止MSDTC服务:net stop msdtc
2、卸载MSDTC服务:msdtc -uninstall
3、重新安装MSDTC服务:msdtc -install
4、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看]

如果正常的话请你跳过此步骤;如果出错,无法正常启动,请在开始菜单的运行中 运行:msdtc -resetlog 以创建日志文件。重起机器,检查IIS是否可以正常使用,若不行继续。

asp+access很不爽,IIS用户需要对系统临时文件夹的读写权限,让人感觉不安全有隐患。应该是access数据库运行的临时文件要放到windows临时目录里,但这个临时文件又不能设置到其它文件夹,而且access的数据库操作又不能在一个隔离的用户下进行(它直接使用IIS用户),所以,如果可以就放弃asp+access吧,甚至连asp都放弃

使用host文件完美解决ASP错误msxml3.dll 错误 '800c0005'

在asp中使用xmlhttprequest获取一个URL的html内容,用来做缓存以加快浏览器速度,但有时会出现这样的错误:

msxml3.dll   错误   '800c0005'
系统未找到指定的资源。

网上说法众说纷纭,但就笔者经验而言,都是因为服务器端dns解析问题,也就是服务器所在机房提供的dns不能解析该域名,笔者所用服务器网络经常出现这样的问题,过一段时间就好了,可能是几分钟,或几个小时,但在出错期间还是很郁闷的,很多页面都无法访问了。因为是dns原因,也束手无策。今天突然想到了windows的host文件,直接通过host文件强制指定域名的ip地址,不就可以解决该问题了。于是修改服务器的host文件,修改后,就在服务器上打开不能解析的域名网站,一下就可以访问了,没有经过微软经典的“重启”操作就可以。

由于是站点是在服务器本向的,所以直接指定IP地址为127.0.0.1 ,这样更方便,就算是服务器ip地址改了也照样能用.