AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mailto: herausfiltern

Ein Thema von aaron · begonnen am 24. Jun 2003 · letzter Beitrag vom 25. Jun 2003
Antwort Antwort
Seite 1 von 2  1 2      
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#1

mailto: herausfiltern

  Alt 24. Jun 2003, 15:45
hallo ich muss folgenden string (kommt öfters vor)
Code:
[email="name@domain.de"]name@domain.de[/email]
aus einer html-datei herausfiltern weil ich diese austauschen muss.
das will mir mit dem code unter aber nicht ganz glücken, schwierigkeiten machen irgendwelche tags z.b.
Code:
usw....
die am ende dranhängen und die ich einfach nicht rausgefiltert kriege.
nein, ich will mir keinen spider bauen

Delphi-Quellcode:
 for i := 0 to Memo4.Lines.Count - 1 do
      begin
        if Pos('<a href="mailto:', Memo4.Lines.Strings[i]) > 0 then
        begin
          s := '';
          for p := Pos('<a href="mailto:', Memo4.Lines.Strings[i]) to
            Length(Memo4.Lines.Strings[i]) do
            if Memo4.Lines.Strings[i][p] <> '</a>then
              s := s + Memo4.Lines.Strings[i][p]
            else
              break;
         // while Pos(s[Length(s)], '..;!")]}?''><`´/' + '</br>' + '</p>' + '</a>' + ('a..z')) > 0 do
           // Delete(s, Length(s), 1);
          Memo5.lines.Add(s);
        end;
      end;
    end;
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#2
  Alt 25. Jun 2003, 18:34
Code:
if Memo4.Lines.Strings[i][p] <> '</a>' then
Wenn ich das richtig sehe, vergleichst du ein Char mit einem String.
Der Char an Stelle p des Strings kann ja nie '</a>' sein, weil das schon 4 Chars sind. Also läuft die Schleife immer bis zum Ende des Strings und liest weiter die Zeichen ein.
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#3
  Alt 25. Jun 2003, 22:29
klingt logisch...nur habe ich keine ahnung wie ich das ändern kann, du?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 25. Jun 2003, 22:46
Moin Aaron,

und was hältst Du von dieser Lösung:

  Memo1.Text := StringReplace(Memo1.Text,'OldAccout@domain.de','NewAccount@domain.de',[rfReplaceAll,rfIgnoreCase]);
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#5
  Alt 25. Jun 2003, 22:52
ja...gute idee
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 25. Jun 2003, 22:59
Moin Aaron,

dabei fällt mir ein:
Solltest Du das in einer Schleife machen wollen, weil Du eine Liste verschiedener alter und neuer Werte abarbeiten musst je Datei, solltest Du Memo.Text zu Beginn in eine Stringvariable übertragen, damit arbeiten und dann am Schluss erst wieder Memo.Text setzen.
Ansonsten geht das (u.U. ganz erheblich) auf die Performance.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#7
  Alt 25. Jun 2003, 23:27
ok, habe aber noch eine andere frage dazu,
falls diese nun nicht mehr hierhin gehört verschiebe sie bitte.

im memo6 stehen nun untereinander ein paar mailadressen
ich möchte sie umwandeln mit Ord und zeilenweise in eine listbox übergeben.
so wie ich es jetzt habe nimmt der immer alle zeilen des memos und packt die zeile für zeile in die listbox, was mache ich falsch?
Delphi-Quellcode:
var
  i: integer;
  s1, s2: string;
begin
  s1 := Memo6.Text;
  s2 := '&#';
  for i := 1 to Length(s1) do
    s2 := s2 + Format('%d', [Ord(s1[i])]) + ';&#';
  for i := ListBox1.items.count - 1 downto 0 do
    Listbox1.Items.add(s2);
denke es liegt daran:
s1 := Memo6.Text; kriegs nicht hin
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#8
  Alt 25. Jun 2003, 23:28
Willst du den String ersetzen? Ich hatte es so verstanden, dass du verschiedene verlinkte E-Mails aus nem HTML-Text herausfiltern willst. Prinzipiell würde das mit deinem Quelltext ja auch schon gehen, wenn du statt bis zu '</a>' bis zum '"' laufen würdest, oder? Anführungszeichen dürften ja normalerweise auch kein bestandteil eine E-Mail Adresse sein.

Sollte ich jetzt Blödsinn schreiben, schieb ichs auf die Uhrzeit.
  Mit Zitat antworten Zitat
aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#9
  Alt 25. Jun 2003, 23:31
danke, gehört zwar dazu ist aber jetzt ein anderer bereich, äh...ja
ich weiß auch nicht genau ob das jetzt noch hierhin gehört
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 25. Jun 2003, 23:39
Moin Aaron,

Zitat von aaron:
ich weiß auch nicht genau ob das jetzt noch hierhin gehört
Siehst Du, und schon geht das Durcheinander los

Eröffne doch bitte für die neue Frage auch einen neuen Thread.

Danke.

PS: Mir würde jetzt auch kein Titel einfallen
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz