你可以像这样在ASP经典中声明一个变量吗?

时间:2009-12-02 19:23:10

标签: asp-classic variables heredoc

我试图看看是否可以在经典ASP中完成:

Dim myVar
myVar = <<< END
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
    <title>test</title>
</head>

<BODY>
END

我可以在PHP中执行此操作,但如果可以在ASP中完成,我不是积极的。 问题是我需要通过变量处理HTML输出,我不想浏览HTML并将"转换为""

修改

我发现这在PHP中称为HEREDOC语法。

因为被问到,我要做的是存储HTML类型标签(可能包含','字符否则会破坏 myVar = "<stuff color="red">here</stuff>"

因此我需要将color="red"替换为color=""red""

来解决此问题

问题的一部分:

我不想用"替换""作为我分配的内容,我想一个HEREDOC语法不适用于ASP classic。

OK FINE ......:P

因为每个人都在问我为什么这样做,这就是为什么,我必须支持这个旧的ASP代码,我不想,但突然之间这个旧应用程序的范围发生了变化,他们想要要通过电子邮件发送的内容(以前是HTML页面),所以...我希望HEREDOC输出HTML,将其传递给邮件功能并发送电子邮件。话虽如此,我知道它的草率,我知道它在其他方面效果更好,但这就是工作要求的,我不想重写它,我只是想将HTML的输出扩展为HTML -email ...

希望更有意义;)

4 个答案:

答案 0 :(得分:2)

最简单的方法是将HTML保存在单独的文件中,然后使用TextStream对象打开该文件,将字符串读入变量。

答案 1 :(得分:1)

没有。一种语言的语法不能用于其他语言。但是,您可以为变量指定字符串文字:


Dim myVar
myVar = _
    "<html xmlns=""http://www.w3.org/1999/xhtml"" lang=""en"" xml:lang=""en"">" & vbCrLf & _
    "<head>" & vbCrLf & _
    "    <title>test</title>" & vbCrLf & _
    "</head>" & vbCrLf & _
    "" & vbCrLf & _
    "<BODY>" & vbCrLf

答案 2 :(得分:0)

我很确定你不能完全按照你的要求去做。 但是,如果你解释了你想要做的事情,那可能会有所帮助。可能还有其他方式。

更新

您可以考虑将HTML片段放入单独的文件中。这将允许您定义它们,而无需重新格式化HTML。以类似的方式,您可以将它们放入数据库甚至资源文件中。

我仍然不能100%清楚为什么要将这些HTML片段定义为变量,但这些方法都可行。

答案 3 :(得分:-1)

没有希腊的godod :) gogo逃生 - 它唯一可用的方式