Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Emailadresse und Namen aus txt.file auslesen

Frage Entwicklung Batch & Shell

Mitglied: elyzer

elyzer (Level 1) - Jetzt verbinden

06.06.2009, aktualisiert 02:38 Uhr, 5662 Aufrufe, 12 Kommentare

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.
Mitglied: 76109
06.06.2009 um 08:37 Uhr
Hat sich erledigt.
Bitte warten ..
Mitglied: elyzer
06.06.2009 um 13:39 Uhr
Hallo,
sorry aber, was hat sich erledigt?
Bitte warten ..
Mitglied: 76109
06.06.2009 um 14:02 Uhr
Hallo elyzer!

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

Gruß Dieter
Bitte warten ..
Mitglied: 76109
06.06.2009 um 14:59 Uhr
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.

01.
Option Explicit 
02.
 
03.
Const ePath = "F:\VB-Scripts\Test\Eingabe.txt" 
04.
Const aPath = "F:\VB-Scripts\Test\Ausgabe.txt" 
05.
 
06.
Const Msg0 = "Fehler" 
07.
Const Msg1 = "Datei nicht gefunden!" 
08.
Const Msg2 = "Datei ist fehlerhaft!" 
09.
 
10.
Dim Fso, File, Member, Members, Name, Mail, x 
11.
     
12.
On Error Resume Next 
13.
     
14.
Set Fso = CreateObject("Scripting.FileSystemObject") 
15.
 
16.
Members = Split(Fso.OpenTextFile(ePath).ReadAll, "Members") 
17.
 
18.
If Err Then MsgBox Msg1, vbExclamation, Msg0: WScript.Quit 1 
19.
     
20.
Set File = Fso.CreateTextFile(aPath) 
21.
 
22.
For Each Member In Members 
23.
    x = Split(Member, "</a", 2) 
24.
    If UBound(x) = 1 Then 
25.
        Name = Trim(Split(x(0), """>", 2)(1)) 
26.
        x = Split(Member, "mailto:", 2) 
27.
        If UBound(x) = 1 Then Mail = vbTab & Trim(Split(x(1), """>", 2)(0)) Else Mail = "" 
28.
        If Err = 0 Then File.WriteLine Name & Mail Else MsgBox Msg2, vbExclamation, Msg0: WScript.Quit 1 
29.
    End If 
30.
Next 
31.
 
32.
WScript.Quit 0
Gruß Dieter

[Edit] geändert [/Edit]
Bitte warten ..
Mitglied: elyzer
06.06.2009 um 15:21 Uhr
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
Bitte warten ..
Mitglied: 76109
06.06.2009 um 15:29 Uhr
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.
Bitte warten ..
Mitglied: elyzer
06.06.2009 um 15:41 Uhr
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
Bitte warten ..
Mitglied: 76109
06.06.2009 um 15:46 Uhr
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
Bitte warten ..
Mitglied: elyzer
06.06.2009 um 19:05 Uhr
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.)
01.
Quellcode 
02.
<a id="hashomefolder" 
03.
                  href="http://www.blbla.de/Members/dirkschatt">Schatt, Dirk</a> 
04.
 
05.
 
06.
Anderer Code.... 
07.
 
08.
<a href="mailto:schatt@blbla.de"> 
09.
                  <img src="http://www.blbla.de/mail_icon.gif" alt="" title="" longdesc="" height="11" width="13" /> 
10.
               </a> 
11.
 
12.
 
Gruß elyzer
Bitte warten ..
Mitglied: 76109
06.06.2009 um 19:14 Uhr
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 Angaben

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

PS Der Code weiter oben wurde aktualisiert
Bitte warten ..
Mitglied: elyzer
06.06.2009 um 19:48 Uhr
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.
Bitte warten ..
Mitglied: 76109
06.06.2009 um 19:55 Uhr
Hallo elyzer!

Prima

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Zeiten in .txt datei auslesen und Differenz berechnen (14)

Frage von meex87 zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...