2017-11-25 3 views
0

Ich versuche, meine Unternehmen Blog zu automatisieren. Ich möchte eine dynamische HTML-Zeichenfolge erstellen, um sie als Wordpress-Blog-Beschreibung zu verwenden. Ich ziehe Textdaten aus dem E-Mail-Text in meinem Google Mail-Konto, um sie als Informationen zu verwenden. Ich parse den E-Mail-Körper mit der ersten Funktion unten.Problem Hinzufügen von Array-Ausgabe zu einer dynamisch generierten HTML-Zeichenfolge in GAS Google Skript

Ich habe alles richtig funktioniert mit Ausnahme der for-Schleife (im zweiten Codeblock) Erstellen der Beschreibung des Beitrags. Ich habe stundenlang gesucht und Dutzende verschiedene Techniken ausprobiert, aber ich kann es nicht für das Leben von mir herausfinden.

Hier ist, wie ich die Textwerte in ein Array lese:

function getMatches(string, regex, index) { 
    index || (index = 1); // default to the first capturing group 
    var matches = []; 
    var match; 
    while (match = regex.exec(string)) { 
     matches.push(match[index]); 
    } 
    return matches; 
} 

Dies ist, wie ich dynamisch bin versucht, die Ausgabe der Textfelder eine einfache HTML-Blogpost Beschreibung zu erstellen (was ich zu xmlrpc passieren zu post):

var1 = getMatches(string, regex expression, 1); 
    var2 = getMatches(string, regex expression, 1); 
    var3 = getMatches(string, regex expression, 1); 
    var3 = getMatches(string, regex expression, 1); 
    var fulldesc = "<center>"; 
    var text = ""; 
    for (var k=0; k<var1.length; k++) {   

     text = "<u><b>Var 1:</u></b> " + var1[k] + ", <u><b>Var 2:</u></b> " + var2[k] + ", <u><b>Var 3:</u></b> " + var3[k] + ", <u><b>Var 4:</u></b> " + var4[k] + ", <br><br>";   
     fulldesc += text; 
    } 
    fulldesc += "</center>"; 

Schließlich ist hier der Blog-Post Beschreibung Code (mit GAS XMLRPC-Bibliothek):

var fullBlog = "<b><u>Headline:</u> " + sub + "</b><br><br>" + fulldesc + "<br><br>General Description: " + desc; 
    var blogPost = { 
     post_type: 'post', 
     post_status: 'publish',  // Set to draft or publish 
     title: 'Ticker: ' + sub,  //sub is from gmail subject and works fine 
     categories: cat,    //cat is defined elsewhere and works fine 
     date_created_gmt: pubdate2, //defined elsewhere (not working but thats another topic) 
     mt_allow_comments: 'closed', 
     description: fullBlog 
     }; 

     request.addParam(blogPost); 

Wenn nur ein Wert in den Arrays var1,2,3,4 funktioniert, funktioniert alles wie es sollte. Aber mehr als 1 Wert und ich bekomme überhaupt keine Ausgabe von der "fulldesc" var. Alle anderen Textvariablen funktionieren wie sie sollten und das Blog wird immer noch gepostet (nur einige sehr wichtige Informationen). Ich bin mir ziemlich sicher, dass das Problem in meiner for-Schleife liegt, die die HTML-Beschreibung zu text var hinzufügt.

Alle Vorschläge würden sehr geschätzt werden, ich bin ausgebrannt, um die Antwort zu erhalten! Ich bin ein Autodidakt Programmierer (nur aus dem Lesen dieses Forums) also bitte gehen Sie einfach auf mich, wenn ich etwas dummes verpasst :)

Antwort

0

Es herausgefunden: Es war nicht die HTML/Text-Schleife überhaupt. Mein Blogpost-Titel musste eine Variable oder ein Text sein, aber nicht beides.

Problem:

title: 'Ticker: ' + sub,  //sub is from gmail subject and works fine 

Arbeits:

var test = 'Ticker: ' + sub; 
    // 
    title:test, 
Verwandte Themen