elyzer
Goto Top

Emailadresse und Namen aus txt.file auslesen

Hallo, ich bin neu hier und stehe vor nem (hoffentlich) kleinem Problem.

Ich möchte aus dem Quelltext, einer php-seite, den Namen mit zugehöriger Emailadresse, auslesen und in einer txt Datei speichern.
Das Problem an dem ich hänge ist, das manche "Teilnehmer" keine Emailadresse haben.
Bei meiner seitherigen Lösung bzw. meinem anfänglichen Lösungsansatzes erhalte ich somit eine verschiebung.

Im Prinzip sieht der Quelltext (der als .txt File vorliegt), an interesanter Stelle, so aus:
   <tr>
           <td>
               <a id="hashomefolder"  
                  href="http://www.blbla.de/Members/maxmuster"> Muster, Max</a>  
               
           </td>
           <td>
               <a href="mailto:mmax@blbla.de">  
                  <img src="http://www.blbla.de/mail_icon.gif" alt="" title="" longdesc="" height="11" width="13" />  
               </a>
           </td>
           <td class="room">  
               <span>Z005/Z006</span>
           </td>
           <td class="phone1">  
               <span>06393/zu-575</span>
           </td>
       </tr>   
     <td>
               <a id="hashomefolder"  
                  href="http://www.blbla.de/Members/maxmoritz"> Moritz, Max</a               
           </td>
           <td>         
           </td>
           <td class="room">   
           </td>
           <td class="phone1">  
               
           </td>
       </tr>
      <tr>
           <td>
Wie schaffe ich es, das z.B. "find" mir den Namen (oder auch die komplette Zeile -ist egal) zurückgibt,
aber nur,
wenn "mailto:" ZWISCHEN den einzelnen funden/href steht.

Vieleicht ist es ja ganz einfach und ich steh nur auf dem Schlauch.

Vielen Dank schon mal im Vorraus.

PS. Kann auch gerne in vbs sein .Die php Seite selbst wäre auch verfügbar falls dies in php einfacher zu regeln wäre.

Content-Key: 117595

Url: https://administrator.de/contentid/117595

Printed on: April 16, 2024 at 10:04 o'clock

Mitglied: 76109
76109 Jun 06, 2009 at 06:37:00 (UTC)
Goto Top
Hat sich erledigt.
Member: elyzer
elyzer Jun 06, 2009 at 11:39:57 (UTC)
Goto Top
Hallo,
sorry aber, was hat sich erledigt?
Mitglied: 76109
76109 Jun 06, 2009 at 12:02:45 (UTC)
Goto Top
Hallo elyzer!

Tja, es hat sich insofern erledigt, weil ein paar Tags fehlen, aber die sind nicht so wichtig.

Gruß Dieter
Mitglied: 76109
76109 Jun 06, 2009 at 12:59:13 (UTC)
Goto Top
Hallo elyzer!

Falls das mit Batch nix wird, hier mal ein VB-Script (Test.Vbs).

Die Pfadangaben für Eingabe- und Ausgabe-Datei entsprechend anpassen.

Option Explicit

Const ePath = "F:\VB-Scripts\Test\Eingabe.txt"  
Const aPath = "F:\VB-Scripts\Test\Ausgabe.txt"  

Const Msg0 = "Fehler"  
Const Msg1 = "Datei nicht gefunden!"  
Const Msg2 = "Datei ist fehlerhaft!"  

Dim Fso, File, Member, Members, Name, Mail, x
    
On Error Resume Next
    
Set Fso = CreateObject("Scripting.FileSystemObject")  

Members = Split(Fso.OpenTextFile(ePath).ReadAll, "Members")  

If Err Then MsgBox Msg1, vbExclamation, Msg0: WScript.Quit 1
    
Set File = Fso.CreateTextFile(aPath)

For Each Member In Members
    x = Split(Member, "</a", 2)  
    If UBound(x) = 1 Then
        Name = Trim(Split(x(0), """>", 2)(1))  
        x = Split(Member, "mailto:", 2)  
        If UBound(x) = 1 Then Mail = vbTab & Trim(Split(x(1), """>", 2)(0)) Else Mail = ""  
        If Err = 0 Then File.WriteLine Name & Mail Else MsgBox Msg2, vbExclamation, Msg0: WScript.Quit 1
    End If
Next

WScript.Quit 0

Gruß Dieter

[Edit] geändert [/Edit]
Member: elyzer
elyzer Jun 06, 2009 at 13:21:38 (UTC)
Goto Top
Hallo Dieter,

danke schon mal für deine Mühen.

Ich bekomm den Msg2 Fehler, Datei fehlerhaft.

Im Ergebnis sehe ich dann, das er die Zeilen mit "name" kopiert.

Das Problem, es gibt weder User noch id.

Das script müsste auf das wort " member" reagieren, das im link vorkommt.

Leider kann ich nicht den kompletten Quelltext hier reinstellen.


Gruß elyzer
Mitglied: 76109
76109 Jun 06, 2009 at 13:29:42 (UTC)
Goto Top
Hallo elyzer!

Tja, das Script ist anhand Deines Beispiels geschrieben.

Das Script sucht nach "<a id=" Name muss das Format ";Name</a" haben und Mail das Format "mailto:Adresse">"

Wenn die Original-Datei anders ist, funktionierts logischerweise auch nicht.

Gruß Dieter

PS Gegebnenfalls in Deinem Beispiel einen präzisen Text angeben. Von Link reicht "http" aber der Rest muss stimmen.
Member: elyzer
elyzer Jun 06, 2009 at 13:41:26 (UTC)
Goto Top
Hallo Dieter,

den Ausschnitt, den ich gepostet habe, stimmt schon, nur hat der Quelltext natürich noch anderen Inhalt, wo es dann wahrscheinlich hängt.

Habe auch schon <a id= mit href vertauscht, dann bleibt das Ergebnis ganz leer.
Die Fehlermeldung bleibt die gleiche.

Gruß elyzer
Mitglied: 76109
76109 Jun 06, 2009 at 13:46:26 (UTC)
Goto Top
Hallo elyzer!

Mit href funktioniert es nicht. Versuch mal "<a id=" ersetzen durch "Members"

Und gib mir das präzise Ende des Member-Links an. Der endet sicherlich nicht mit ";"

Gruß Dieter
Member: elyzer
elyzer Jun 06, 2009 at 17:05:01 (UTC)
Goto Top
Hallo Dieter,
bei "members" geschiest das selbe, wie mit <a id=, allso scheint das Problem woanders zu liegen.

Ein korrekter Userlink und Emaillink: (natürlich stimmt blbla.de nicht, falls dies auch eine Rolle spielt.)
Quellcode
<a id="hashomefolder"  
                  href="http://www.blbla.de/Members/dirkschatt">Schatt, Dirk</a>  


Anderer Code....

<a href="mailto:schatt@blbla.de">  
                  <img src="http://www.blbla.de/mail_icon.gif" alt="" title="" longdesc="" height="11" width="13" />  
               </a>

Gruß elyzer
Mitglied: 76109
76109 Jun 06, 2009 at 17:14:47 (UTC)
Goto Top
Hallo elyzer!

Logisch. Ich hätte natürlich raten können, aber im Raten bin ich nicht so Gut. Daher richte ich mich immer nach den Angabenface-smile

Ersetzte in Deinem Code Zeile 25 durch:
 Name = Trim(Split(x(0), """>", 2)(1))   

Gruß Dieter

PS Der Code weiter oben wurde aktualisiert
Member: elyzer
elyzer Jun 06, 2009 at 17:48:05 (UTC)
Goto Top
Hallo Dieter!!

Hammerhart, vielen Dank.

Darf man hier gei. sagen?

Es funktioniert einwandfrei, zwar noch ein wenig Quelltext der oben steht,
aber das lässt sich ohne Probleme, mit dem bisherigen script, rausschneiden.

Ist auch genau richtig formatiert, da es ein outlook Adressbuch werden soll.

Damit hat sich mein Thread erledigt.
Mitglied: 76109
76109 Jun 06, 2009 at 17:55:14 (UTC)
Goto Top
Hallo elyzer!

Primaface-smile

Gruß Dieter