编写包含ASP分隔符的文件

时间:2012-08-06 11:30:16

标签: asp-classic vbscript

我们有很多文件包含对我们网站资源的图像/静态文件引用。当我们将这些文件移动到S3托管时,我正在编写一个脚本来读取每个ASP文件,替换每个引用,以便每个引用都指向一个全局定义的变量,并将这些更改重写到文件中,这样我们就不会必须手动更新所有这些文件!

这适用于实际代码中的引用。

例如。

Response.Write "<img src=""http://www.site.com/images/image.gif"">"

变为

Response.Write "<img src=""" & s3BucketName & "/images/image.gif"">"

但是当谈到替换这样的代码时:

<script src="/javascript/script.js">

这更难 - 因为我们必须放置ASP分隔符&lt;%=%&gt; 围绕它的全球变量。

例如

<script src="<%=s3BucketName%>/javascript/script.js">

因为脚本分隔符实际上停止了它们所在的页面并产生错误,所以我发现这很困难。 URL编码&lt;%= s3BucketName%&gt;字符串和写入,只是写入编码的文本(ASP不可用),不会转换成我想要的。

感激地收到任何想法。

谢谢,亚当

2 个答案:

答案 0 :(得分:2)

好的,我想出了一个解决方案,似乎有效。如果您找到更好的,请发表评论。

textToReplace = "src="""& chr(60) & chr(37) & chr(61) & "s3BucketName" & chr(37) & chr(62) & "/javascript/script.js"

基本上每个符号都是&lt;%=和%&gt;转换为chr()值。

答案 1 :(得分:1)

您可以在页面的head部分使用basetag,然后您可以单独保留脚本示例中的相对URL,您可以将此技术与peedeeaay建议的那个结合起来。

<base href="http://www.s3bucketdomain.com/directory/" />