Как сохранить HTML-разметку как есть в ячейке листа Google, не нарушая HTML-тег - PullRequest
1 голос
/ 08 марта 2019

Я пытаюсь использовать страницу Google, чтобы добавить полный HTML-код электронного письма в ячейку, где у меня есть переменные для текста, изображения src, href src и т. Д.

Теперь я использую скрипт Google, чтобы заменить теги значениями, чтобы я мог скопировать полный HTML-код и вставить его в систему маркетинга электронной почты.

Я делаю это, потому что моя система маркетинга электронной почты не поддерживает переменные.

Но, как я заметил, когда я вставляю разметку HTML-шаблона в ячейку, лист Google добавляет дополнительный набор "" вокруг существующего "".

Например, если это HTML-код, который я вставляю:

<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>
<p>My first paragraph.</p>
<a href="https://www.Google.com">Visit Google</a>


</body>
</html>

Это будет изменено на:

<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>
<p>My first paragraph.</p>
<a href=""https://www.Google.com"">Visit Google</a>


</body>
</html>

Примечание:

<a href="https://www.Google.com">Visit Google</a>

Google лист добавляет дополнительный набор ok "" вокруг моего href src. Та же проблема со всеми тегами.

<a href=""https://www.Google.com"">Visit Google</a>

Меня беспокоит, может ли лист Google поддерживать HTML как есть в ячейке или нет? Любое решение этой проблемы?

1 Ответ

0 голосов
/ 08 марта 2019

Попробуйте это:

//Just enter the strings shown below into those cells in Sheet1 which no quotations and then run the script and you'll see your html
//A1=My First Heading
//A2=My first paragraph.
//A3=http://google.com
//A4=Visit Google

function displayEmailHtml() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet1');
  var rg=sh.getRange(1,1,4,1);
  var vA=rg.getValues();
  var html=Utilities.formatString('<!DOCTYPE html><html><body><h1>%s</h1><p>%s</p><a href="%s">%s</a>/body></html>',vA[0][0],vA[1][0],vA[2][0],vA[3][0]);
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'My Email Html');
}

Чтобы ответить на второй вопрос, попробуйте:

<code>function displayEmailHtml() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet1');
  var rg=sh.getRange(1,1,4,1);
  var vA=rg.getValues();
  var html=Utilities.formatString('<!DOCTYPE html>\n<html>\n<body>\n<h1>%s</h1>\n<p>%s</p>',vA[0][0],vA[1][0]);
  html+=Utilities.formatString('\n<a href="%s">%s</a>\n</body>\n</html>',vA[2][0],vA[3][0]);
  html=html.replace(/>/g,'&gt');
  html=html.replace(/</g,'&lt');
  html=Utilities.formatString('<pre>%s
», HTML); var userInterface = HtmlService.createHtmlOutput (html); SpreadsheetApp.getUi (). ShowModelessDialog (userInterface, 'My Email Html'); }
...