Aus Text bestimmte Zeile auslesen!
Marcus
- javascript
0 Alexander Ganz0 Marcus
0 Michael
Guten Morgen !
Ich habe ein eine TEXT in folgendes Script eingebunden:
<html><head><title>Test</title></head><body>
<script language="JavaScript">
Begriff = "Magic Ski, 7 Tage in Kiens/Ehrenburg,
Unterbringung in einem ***-Hotel, 11.-17.12.99 DM 299,-
Preis: DM 1700..etc."
Teil = Begriff.substr(5,11);
alert(Teil);
</script></body></html>
Ich möchte jetzt den Preis per JavaScript auslesen,
aber das Script meldet mir "NICHT ABGESCHLOSSENE ZEICHENFOLGE"
Hat jemand einen Tip für mich wie ich da am besten
anstelle ???
Vielen Dank im voraus.
cu
Marcus
Hallo Marcus!
Bei BEGRIFF darf kein Zeilenumbruch sein, dann funktioniert es.
Bis dann Alex
Hallo Marcus!
Bei BEGRIFF darf kein Zeilenumbruch sein, dann funktioniert es.
Bis dann Alex
Hi Alex !
Das ist mir schon klar, gibt es sonst keine andere Lösung ????
cu
Marcus
Du könntest es in ein Array schreiben
also:
Begriff = new Array("zeile1","zeile2","zeile3");
alert(Begriff[2])
Eine andere Lösung weiß ich Moment nicht.
Bis dann
Alex
Hallo Marcus,
warum die Fehlermeldung auftritt, wurde ja schon geklärt. Aber ich verstehe Dein Problem nicht ganz. Du hast doch den Preis im Prinzip schon. Was willste ihn da noch auslesen?
Oder ist bloß Dein Problem, wie Du einen Zeilenumbruch hinbekommst?
Dann versuchs mal mit \n
Also:
Begriff = "Magic Ski, 7 Tage in Kiens/Ehrenburg,\n Unterbringung in einem ***-Hotel,\n11.-17.12.99 DM 299,-\n\nPreis: DM 1700..etc."
*nicht_kapier_ob_das_nun_das_Gesuchte_war*
Vielleicht könntest Du noch das drumherum erklären, dann findet sich ja vielleicht noch was anderes, was Dein WIRKLICH Problem viel besser löst.
Gruß
Michael
Hi Michael !
Das mit dem Preis ist nur ein Beispiel.
Der ganze Text kommt per Mail und wir automatisch
in eine Datenbank geschrieben.
Nun soll daraus eine Antwort-Mail geschrieben werden,
wobei die Empfängeradresse mitten im Text steht.
Ich habe hier ein Formular erstellt, wo meine Kollegen einfach nur die Antwort eintippen müssen.
Ich hab mir gedacht es müsste doch möglich sein
die Mailadresse aus dem Text auszulesen und automatisch zu übernehmen.
So jetzt weißt Du bescheid...gibt es ein Möglichkeit per JavaScript oder so???
cu
Marcus
Hallo Marcus,
Also so ganz hab ichs wohl immer noch nicht kapiert. Versuchen wir uns aber mal auf Dein Grundproblem zu konzentrieren:
Da kommt was per Mail an, was in eine Datenbank geschrieben werden soll und darauf soll dann zugleich eine Antwortmail an den Absender geschrieben werden, richtig?
Dann stellen sich mir erstmal ein paar Fragen. Woher kommt die Mail? Schreibt die einfach jemand oder entstammt sie aus einem (wohlformatierten) HTML-Formular?
Wie wird die ankommende Mail in die Datenbank geschrieben? Wenns automatisch geschieht, wie denn? Mit einem Perlscript?
Um allgemein zu Antworten, in einem Text eine Mailadresse zu finden, macht man am besten mit regülären Ausdrücken. Jede Mailadresse hat ja folgenden Ausbau
*@*.*
Wobei * für beliebige Alphanumerische Zeichen oder _ bzw. - bzw. . steht.
Perl erlaubt einen recht einfachen Umgang mit Regulären Ausdrücken. Auch die Javascriptfähigkeiten vom Netscape machen das möglich (siehe SelfHTML-Doku zum String-Objekt). Bei IE muss man das halt "zu Fuss" zusammensuchen.
Ich weiß nicht, ob das Dich zufriedenstellt ..... ich warte einfach Deine Antwort ab :-)
Gruß
Michael
Hallo
Da kommt was per Mail an, was in eine Datenbank geschrieben werden soll und darauf soll dann zugleich eine Antwortmail an den Absender geschrieben werden, richtig?
Ist korrekt, vielleicht nicht sofort aber einige Minuten/Studen späte
Dann stellen sich mir erstmal ein paar Fragen. Woher kommt die Mail? Schreibt die einfach jemand oder entstammt sie aus einem (wohlformatierten) HTML-Formular?
Im Internet ist ein Buchungsformular, was die Kunden
ausfüllen müssen, diese Angaben kommen das strukturiert als Mail zu mir.
Wie wird die ankommende Mail in die Datenbank geschrieben? Wenns automatisch geschieht, wie denn? Mit einem Perlscript?
Ich habe hier eine ASP-Komponente die alle 5 Minuten
meinen Mailserver abruft und die Mails in die Datenbank schreibt.
Die Absenderadresse ist aber nicht die Adresse die
ich für das Antwortmail brauche.
Die Adresse die ich brauche steht im Text.
Leider habe ich von PERL kein Plan, gibst keine Möglichkeit mit JavaScript ???
Die Mail sieht wie folgt aus:
Stubai, Schlick 2000: 1 Wo. inkl. Skipass, 2. Erw., 1 Kind, DZ/Fruehstueck, 25.12.-02.01.00, DM 1.598,-, inkl.7-Tagesskipass
Name: Mustermann, Hans
Adresse: ,
Tel.: +49 000/000
Fax:
E-Mail: mustermann@mail.com
Anzahl Erwachsene: 2
Anzahl Kinder: 2
Alter Kind 1: 3
Alter Kind 2: 1
Alter Kind 3:
Alter Kind 4:
Anzahl Doppelzimmer: 1
Anzahl Einzelzimmer:
Bemerkung:
-----------------------------------------------
Ich brauche eben die Mailadresse !
Ich hoffe Du weißt was ich meine !!!!
cu
Marcus
Hallo Marcus,
jo, jetzt hab ichs kapiert. *freu*
Aber wenn Du schon sowas wie ASP verwenden kannst, warum schreibst Du denn nicht gleich das Formular damit (mit ASP) in die Datenbank, sondern machst es umständlich über ein Mailserver?
Dann könntest Du nämlich auch aus der wohlstrukturierten Mail in einer Datenbanktabelle die einzelnen Werte einsortieren. Erst dann machen ja Datenbanken Sinn. Die komplette Mail so wie sie ist reinzuschreiben bringt wohl nicht allzuviel. Zumindest läßt sich da der Vorteil von Datenbanken nicht ausspielen.
Naja, wie dem auch sei. Ein paar Ansätze zur Findung der Mailadresse hab ich Dir ja schon gegeben.
Entweder Du machst es Serverseitig:
Das heißt, die Page die das Antwortformular für Deine Kollegen liefert enthält ASP-Kommando's, die die Mailadresse herraussuchen. Leider kenn ich mich mit ASP im Detail nicht aus und weiß nicht, wie man damit Strings durchsucht.
Oder Clientseitig:
Das heißt, Du schreibst via
var dergesamteMailtext="<ASP-Kommando_welches_die_Mail_komplett_zurückliefert>";
und dann mit Javascript halt. Das String-Objekt liefert ja einiges, um nach Zeichenkettenteilen zu suchen.
Brauchst also nur nachwas suchen (mit indexOf), was wie folgt formatiert ist:
E-Mail: *@*.*
Das heißt, Du suchst erst nach E-Mail und das folgende bis zum Zeileendezeichen \n muss demzufolge die Mailadresse sein (extrahieren mit substring oder substr oder so).
Mehr weiß ich jetzt erstmal auch nicht. Aber vielleicht helfen Dir ja diese Anfänge schon weiter.
Gruß
Michael
PS: Vielleicht gibts aber noch eineganz andere Lösung. Mich verwirrt immer noch so ein bisschen das scheinbar nicht ganz vorteilhafte Anwenden der Datenbank. Ich vermute das macht erst so richtig Ärger. Solche Sachen mit Javascript und so sind deshalb zwangsläufig bloß Hilfslösungen, wenn Du verstehst was ich meine ....