![]() |
HTML2Text - noch buggy? [Diskussion]
Hmm, mei mir geht das überhaupt nicht. Speicher bitte mal eine Themenseite aus der DP und öffne diese mit deinem Programm. Evtl. liegt's an den Tables.
[edit=Chakotay1308]Diese Diskussion bezieht sich auf ![]() |
Re: HTML2Text - noch buggy?
Ein Fehler ist hier:
Delphi-Quellcode:
Ich kann mir auch vorstellen, dass "¨" kein Char ist :mrgreen:
if s = 'uml' then Result := '¨';
|
Re: HTML2Text - noch buggy?
Hallo bigg,
den ersten Funktionstest solltest du vielleicht selbst machen. Da sind noch einige Fehler drin. So geht das bestimmt nicht:
Delphi-Quellcode:
Grüße vom marabu
if s = 'auml' then Result := 'Ä'; // muss Auml sein
|
Re: HTML2Text - noch buggy?
am besten erstmal
Delphi-Quellcode:
ganz an den anfang. auch vor die if's ein paar else würde die performance wohl ein wenig steigern.
s:=ansilowercase(s)
und im übrigen weiss ich nicht, was die funktion bringen soll - Aus HTML text machen, das kann jeder Browser :stupid: |
Re: HTML2Text - noch buggy?
:hi:
@dgl-luke: Um formatieren Quellcode importieren zu können ;-)
Delphi-Quellcode:
Das benötige ich dort nicht, da s als LowerCase übergeben wird, aber das hat sich mit dem Posting von Marabu sowieso erledigt. :)
s:=ansilowercase(s)
Ich ändere das noch. Mit Unicode-Sonderzeichen kommt meine Funktion noch nicht zurecht. |
Re: HTML2Text - noch buggy?
Zitat:
2. Du könntest wahrscheinlich noch was an Performance herausholen, wenn du in deine riesige if-then-Abfrage jeweils mit "else" in die nächste Möglichkeit verzweigst. |
Re: HTML2Text - noch buggy?
@flocke
Sag ich ja :thumb: |
Re: HTML2Text - noch buggy?
moin,
jetzt sollte es löppen. Ich bitte darum weiter zu testen :). |
Re: HTML2Text - noch buggy?
Zitat:
|
Re: HTML2Text - noch buggy?
moin malo,
was ignoriere ich :gruebel: Ich habe doch Flockes und Marabu's- Kommentar befolgt. |
Re: HTML2Text - noch buggy?
Hi bigg,
immer wenn ein Quelltext monotone Passagen aufweist, wie deiner die endlose If-Strecke, dann macht es Sinn nach einer Alternative zu suchen. Für deinen Zweck wäre ein Dictionary eine gute Lösung und die StringList bietet dir über die Objects[] sogar noch die Lookup-Funktionalität. Wenn du die vom W3 Consortium herausgegebene ![]()
Delphi-Quellcode:
dann kannst du zumindest den Code für die Übersetzung der named entities deutlich übersichtlicher gestalten.
sl.AddObject('quot', Pointer(34));
Freundliche Grüße vom marabu PS: HTML2Text ist vielleicht etwas irreführend, denn es wird ja kein markup code in Text umgewandelt. Und vergiss nicht, dass character entities auch durch " oder & #34; repräsentiert werden können. |
Re: HTML2Text - noch buggy?
Zitat:
|
Re: HTML2Text - noch buggy?
@marabu:
Da gebe ich dir vollkommen recht, so könnte man die Liste durchlaufen und gegenfalls abbrechen, sofern ein Sonderzeichen gefunden wurde. @turbo: Ja, ist ein Fehler des Parsers. |
Re: HTML2Text - noch buggy?
Bitte die Liste NICHT durchlaufen!
Delphi-Quellcode:
marabu
var
slDict: TStringList; s: string; index: integer; begin s := 'quot'; slDict.AddObject(s, Pointer(34)); index := slDict.IndexOfName(s); if index < 0 then CheckForCodedEntity(s) else s := Chr(Integer(slDict.Objects[index])); end; PS: Du denkst bestimmt daran, dass du slDict.CaseSensitive auf true setzen musst, stimmts? |
Re: HTML2Text - noch buggy?
moin marabu,
Zitat:
Und warum sollte ich es so, wie in deinem Beispiel machen? Wo ist da der Vorteil gegenüber einer normalen Liste? |
Re: HTML2Text - noch buggy?
Zitat:
Sorry, wenn ich etwas "hart" aufgetreten bin, aber mir ist halt aufgefallen, dass zu beiden Kritiken nichts geantwortet/getan wurde ;) |
Re: HTML2Text - noch buggy?
Zitat:
Zitat:
marabu |
Re: HTML2Text - noch buggy?
Es gibt auch die Form † (das Beispiel hier steht für das Zeichen †) für Character Entities. Entities mit Zahlen bis 255 stehen für Zeichen aus dem ASCII-Zeichensatz, alles darüber für Zeichen aus dem Unicode-Zeichensatz.
edit: So wies aussieht hat escaped das Board hier die numerischen Entities nicht. :evil: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz