Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi SGML/HTML parsen bzw. Wörter per   zusammenkleben (https://www.delphipraxis.net/121558-sgml-html-parsen-bzw-woerter-per-nbsp%3B-zusammenkleben.html)

rd3 30. Sep 2008 10:31


SGML/HTML parsen bzw. Wörter per   zusammenkleben
 
Hallo,

hab mal eine Frage, die ich auch schon im Delphi-Forum gestellt habe...

s. CrossLink: http://www.delphi-forum.de/topic_HTM...ags_86917.html

Ich würde mich echt freuen, wenn mir jemand helfen könnte.

Vielen Dank vorab.

Viele Grüße,

rd3

Andi1985 30. Sep 2008 13:04

Re: SGML/HTML parsen bzw. Wörter per   zusammenkleb
 
Nur damit ich die Aufgabenstellung verstehe:

Du hast ein String:

Zitat:

Hallo wie geht es Dir.Ich würde mich freuen,Dich wiederzusehen!
und du willst:

Zitat:

HallowiegehtesDir.Ich

würdemichfreuen,Dich

wiederzusehen!
würd ich folegndermaßen lösen:

Zitat:

1. Sonderzeichen übersetzen (ü -> ü)
2. Jedes Zeichen durchlaufen
3. Das letzte Leerzeichen (' ') in jeder Zeile suchen (Position < 30) und ein
-> &lt;br&gt; setzen
4. Alle ' ' durch ersetzen
5. Sonderzeichen übersetzen (ü -> &nbsp)
mit dem letzten Leerzeichen in einer Zeile suchen würde ich so lösen:

Delphi-Quellcode:
function SearchLastSpace(sText : string; iOffset : integer): integer;
var
  iPosition : Integer;
  iLastPosition : Integer;
  const ZEICHEN : integer = 30;
begin
  iPosition := -1;
  iLastPosition := iOffset;

  while (iPosition < ZEICHEN+iOffset) and (iPosition <> 0) do
  begin
    iPosition := PosEx(' ', sText, iLastPosition+1);

    if (iPosition < ZEICHEN+iOffset) and (iPosition > 0) then
    begin
      iLastPosition := iPosition;
    end;
  end;

  result := iLastPosition-iOffset;
end;

rd3 30. Sep 2008 13:09

Re: SGML/HTML parsen bzw. Wörter per &nbsp; zusammenkleb
 
Die Entities sollen nicht nochmal in Sonderzeichen zerlegt werden. Bei WideChars/WideStrings funktioniert das auch nicht so ohne weiteres, da manche Sonderzeichen aus mehreren Entities zusammengesetzt sind...

Hoffe auf eine andere Lösung.

Viele Grüße,

rd3

Andi1985 30. Sep 2008 13:18

Re: SGML/HTML parsen bzw. Wörter per &nbsp; zusammenkleb
 
und wenn du alle Zeichen von & bis ; als ein Zeichen (Quellcode technisch) behandelst?
etwas anderes würd mir da atm nicht einfallen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 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