Можете ли вы объявить переменную в ASP classic, как это? - PullRequest
1 голос
/ 02 декабря 2009

Я пытаюсь понять, можно ли это сделать в классическом 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 и конвертировать " в ""

EDIT:

Я обнаружил, что это называется синтаксисом HEREDOC в PHP.

С тех пор, как его спросили, я пытаюсь сохранить теги типа HTML (которые могут содержать символы ",", которые в противном случае сломались бы myVar = "<stuff color="red">here</stuff>"

поэтому мне нужно исправить это, заменив color="red" на color=""red""

ЧАСТЬ ПРОБЛЕМЫ:

Я не хочу заменять " на "" для содержимого при его назначении, я думаю, синтаксис HEREDOC недоступен для ASP classic.

OK FINE ...: P

Поскольку все спрашивают меня, ПОЧЕМУ я так поступаю, вот почему я должен поддерживать этот старый ASP-код, я не хочу, но внезапно область действия этого старого приложения меняется, что они хотят содержимое (которое раньше было HTML-страницей) для отправки по электронной почте, так что ... Я хотел HEREDOC вывод HTML, передать его в функцию mail и отправить его по электронной почте. Сказав это, я знаю, что он неаккуратный, и я знаю, что он работает лучше другим способом, однако это то, к чему стремилась работа, я не хотел переписывать его, я просто хотел расширить вывод из HTML в HTML -Е ...

Надеюсь, это имеет больше смысла;)

Ответы [ 4 ]

2 голосов
/ 02 декабря 2009

Самое простое, что можно сделать, это сохранить HTML в отдельном файле, а затем открыть этот файл с помощью объекта TextStream, считывая строку в переменную.

1 голос
/ 02 декабря 2009

Нет. Синтаксис одного языка не будет работать на другом языке. Однако вы можете назначить строковый литерал переменной:


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

0 голосов
/ 08 ноября 2010

для asp не существует herodoc :) gogo escape - единственный способ использовать

0 голосов
/ 02 декабря 2009

Я почти уверен, что вы не можете сделать именно то, что вы спрашиваете здесь. Однако может помочь, если вы объясните, что вы пытаетесь сделать. Там может быть какой-то другой способ.

Обновление:

Вы можете рассмотреть возможность помещения фрагментов HTML в отдельные файлы. Это позволит вам определить их без необходимости переформатирования HTML. Аналогичным образом вы можете поместить их в базу данных или даже в файлы ресурсов.

Я до сих пор не уверен на 100%, почему вы хотите, чтобы эти HTML-фрагменты были определены как переменные, но эти подходы будут работать.

...