Marcus: Aus Text bestimmte Zeile auslesen!

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

  1. Hallo Marcus!

    Bei BEGRIFF darf kein Zeilenumbruch sein, dann funktioniert es.

    Bis dann Alex

    1. 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

      1. 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

  2. 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

    1. 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

      1. 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

        1. 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

          1. 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 ....