AGB  ·  Datenschutz  ·  Impressum  







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

HTML Tags entfernen

Ein Thema von knolli · begonnen am 16. Jan 2008 · letzter Beitrag vom 2. Jun 2015
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: HTML Tags entfernen

  Alt 16. Jan 2008, 15:15
also sowohl bei mkinzler als auch bei tr909 kommt folgende fehlermeldung:

http://img169.imageshack.us/img169/650/fehleriz4.png

ich möchte das ganze ohne webbrowser machen. ich habe den quelltext in einem memofeld und daraus möchte ich alles Tags entfernen.
  Mit Zitat antworten Zitat
tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: HTML Tags entfernen

  Alt 16. Jan 2008, 15:36
ich bekomme bei mkinzlers Variante eine Zugriffsverletzung an der Stelle :

Delphi-Quellcode:
if p1 <> nil then
      begin
        p2 := StrScan( p1, '>');
        if p2 <> Nil then
        begin
          StrLCopy( pr, p, p1-p); <---- an dieser Stelle knallt es
          Result := Result + pr;
          p := p2+1;
        end
        else
@knolli
probier mal bei mir in der Funktion html2txt die Zeile html := ReplaceHTMLChar(html); auszukommentieren / wegzulassen
und alles ab slRes := TStringList.Create; kann auch weg (ist dazu da um die Leerzeilen zu entfernen

Gruß
tr909
  Mit Zitat antworten Zitat
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: HTML Tags entfernen

  Alt 16. Jan 2008, 20:23
ok funktioniert soweit...

aus dem quelltext

kommt das raus:
XML-Code:
@import url("./formIE.css");






Delphi-PRAXiS :: HTML Tags entfernen




if ( 0 ) { window.open('privmsg.php?mode=newpm', '_phpbbprivmsg', 'HEIGHT=225,resizable=no,WIDTH=400'); }

//-->






function openDPWindow(docURL, wndName, wndWidth, wndHeight, posLeft, posTop)

{

var session_id = '43861d35d1712e67c427884297b7a05b';


if (!posLeft)

var posLeft = (screen.width - wndWidth) / 2;

if (!posTop)

var posTop = ((screen.height - wndHeight) / 2)-20;


docURL = docURL.replace( '[SID]', session_id );


var parameters = "width="+wndWidth+",height="+wndHeight+",left="+posLeft+",top="+posTop+",
dependent=no,menubar=no,location=no,resizable=yes,scrollbars=yes,status=no";

window.open(docURL, wndName, parameters );

}

//-->





var L_EXPANDTEXT = "aufklappen";

var L_COLLAPSETEXT = "zusammenfalten";

var clpHeight = "123px";



function toggle(elementId, allowToggle) {

var srcId, srcImage, srcLink = null;


if (allowToggle=='0') return false;


srcId = document.getElementById(elementId + "_code");

srcImage = document.getElementById(elementId + "_image");

srcLink = document.getElementById(elementId + "_link");


if (srcId != null)

srcId.style.height = (srcId.style.height=="") ? clpHeight : "";


if (srcImage != null && srcId != null)

srcImage.src = (srcId.style.height==clpHeight) ? './images/common/plus.png' : './images/common/minus.png';


if (srcLink != null)

{

txt = (document.documentElement) ? srcLink.firstChild.nodeValue : srcLink.innerText;

txt = (srcId.style.height==clpHeight) ? L_EXPANDTEXT : L_COLLAPSETEXT;

if (document.documentElement)

srcLink.firstChild.nodeValue = txt;

else

srcLink.innerText = txt;

}


//

// Im Beitragseditor muessen die DHTML-Elemente neu angeordnet werden,

// wenn wir getoggelt haben. Dazu stellt der Editor die Methode

// "doRealignEditorElemets" bereit. Wenn diese Methode existiert, dann

// muss sie jetzt aufgerufen werden.

if ( window.doRealignEditorElemets ) {

doRealignEditorElemets();

}


return false;

}


function selectAll(elementId) {

var element = document.getElementById(elementId);

if ( document.selection ) {

var range = document.body.createTextRange();

range.moveToElementText(element);

range.select();

} else

if ( window.getSelection ) {

var range = document.createRange();

range.selectNodeContents(element);

var blockSelection = window.getSelection();

blockSelection.removeAllRanges();

blockSelection.addRange(range);

} else {

alert( 'Dein Browser unterstützt diese Funktion leider nicht.' );

}

return false;

}


var init_toggle = 0;

var init_linenumbers = 0;

//-->



window.name = 'wndDelphiPRAXiSMain';

















Site-Map

Suchen

Code-Library

Mailbox


Logout[knolli]

































var dpSearchURL = "http://www.delphipraxis.net/search.php";


function post_time_edit(topic_id, post_id) {

window.open("./edit_post_time.php?t="+topic_id+"&p="+post_id, '_postedittime', 'HEIGHT=200,WIDTH=500,resizable=no,scrollbars=no');

}


//-->
















Titel:-->HTML Tags entfernen

Ein Delphi (Win32)-Thema von knolli.


Vorheriges Thema anzeigen|Nächstes Thema anzeigen

Avatare einblenden





sdrucken" border="0" hspace="2" vspace="2">









Delphi-PRAXiS Forum - Übersicht->Object-Pascal / Delphi-Language




Seite 1 von 1[ 10 Beitr&auml;ge ]












Autor

Nachricht













knolli


#1|Verfasst am:Heute um 11:53Titel:HTML Tags entfernen











MitgliedStatus:onlineBeiträge: 9angemeldet: 22.09.2006

Sprache: Delphi (Win32) Hi!





Ich melde mich nun schon wieder mit einem euene Problem.


Mir geht es darum, alle HTML-Tags zu entfernen, damit ich nur noch z.B.: Linkbeschriftungen oder den auf der Seite
sichtbaren Text habe und diesen bearbeiten kann. Wer kann mir sagen, wie das funktionieren könnte? Wohlgemerkt es soll alles mit delphi passieren^^.




Ich freue mich schon auf eure Hilfe und hoffe das ich mir auch selbst eine Antwort geben kann!











*] -->



test -->

























DeddyH


#2|Verfasst am:Heute um 11:59Titel:Re: HTML Tags entfernen











"Rüsselmops" ;-)Alter: 41Status:onlineBeiträge: 3.281angemeldet: 17.09.2006Wohnort: Schweina/ThüringenDelphi 7 Enterprise


Ein Anfang wäre, alle < zu ermitteln und von deren Position bis zum folgenden > alles zu löschen.



Gruß Deddy


21 ist nur die halbe Antwort








*] -->


test -->


























tr909


#3|Verfasst am:Heute um 12:04Titel:Re: HTML Tags entfernen











MitgliedStatus:offlineBeiträge: 145angemeldet: 05.11.2004Turbo Delphi für Win32

Hatte gerade das gleiche Problem und habe nu provisorisch erst mal folgendes gebastelt und zusammengesucht



Delphi-Quellcode:    zusammenfalten | markieren

ace: nowrap; width: 100%; overflow-x: auto; overflow-y: auto; overflow: auto;">
1&middot;&middot;&middot;5&middot;&middot;&middot;&middot;10&middot;&middot;&middot;&middot;15&middot;&middot;&middot;
&middot;20&middot;&middot;&middot;&middot
;25&middot;&middot;&middot;&middot;30&middot;&middot;&middot;&middot;35[/b]
&middot;&middot;&middot;&middot;40&middot;&middot;&middot;&middot;45&middot;&middot;&middot;&middot;50&middot;&middot;
&middot;&middot;55&middot;&middot;&middot;&middot;60&middot;&middot;&middot;&middot;65&middot;&middot;&middot;&middot;
70&middot;&middot;&middot;&middot;75&middot;&middot;&middot;&middot;80&middot;&middot;&middot;&middot;85&middot;&middot;
&middot;&middot;

0;">90&middot;&middot;&middot;&middot;95&middot;&middot;&middot;&middot;100&middot;&middot;&middot;&middot;105&middot;
&middot;&middot;&middot;110&middot;&middot;&middot;&middot;115&middot;&middot;&middot;&middot;120&middot;&middot;&middot;
&middot;125&middot;&middot;&middot;&middot;130&middot;&middot;&middot;&middot;135&middot;&middot;&middot;&middot;140&middot;
&middot;&middot;&middot;

180&middot;&middot;&middot;&middot;185&middot;&middot;&middot;&middot;190191function GiveSZ(HCode: string): Char;



var


 i : Integer;



begin


 Result := ' ';


 if (HCode = '&amp;quot;') or (HCode = '&quot;') then Result := '&quot;';



 if (HCode = '&amp;amp;') or (HCode = '&amp;') then Result := '&amp;';



 if (HCode = '&amp;lt;') or (HCode = '<') then Result := '<';



 if (HCode = '&amp;gt;') or (HCode = '>') then Result := '>';



 // ISO 160 bis ISO 255 Codes


 if (HCode = '&amp;nbsp;') or (HCode = ' ') then Result := ' ';



 if (HCode = '&amp;iexl;') or (HCode = '&iexcl;') then Result := '&iexcl;';



 if (HCode = '&amp;cent;') or (HCode = '&cent;') then Result := '&cent;';



 if (HCode = '&amp;pound;') or (HCode = '&pound;') then Result := '&pound;';



 if (HCode = '&amp;curren;') or (HCode = '&curren;') then Result := '&curren;';



 if (HCode = '&amp;yen;') or (HCode = '&yen;') then Result := '&yen;';



 if (HCode = '&amp;brkbar;') or (HCode = '&brvbar;') then Result := '&brvbar;';



 if (HCode = '&amp;sect;') or (HCode = '&sect;') then Result := '&sect;';



 if (HCode = '&amp;uml;') or (HCode = '&uml;') then Result := '&uml;';



 if (HCode = '&amp;copy;') or (HCode = '&copy;') then Result := '&copy;';



 if (HCode = '&amp;ordf;') or (HCode = '&ordf;') then Result := '&ordf;';



 if (HCode = '&amp;laquo;') or (HCode = '&laquo;') then Result := '&laquo;';



 if (HCode = '&amp;not;') or (HCode = '&not;') then Result := '&not;';



 if (HCode = '&amp;shy;') or (HCode = '&shy;') then Result := '&shy;';



 if (HCode = '&amp;reg;') or (HCode = '&reg;') then Result := '&reg;';



 if (HCode = '&amp;hibar;') or (HCode = '&macr;') then Result := '&macr;';



 if (HCode = '&amp;deg;') or (HCode = '&deg;') then Result := '&deg;';



 if (HCode = '&amp;plusmn;') or (HCode = '&plusmn;') then Result := '&plusmn;';



 if (HCode = '&amp;sup2;') or (HCode = '&sup2;') then Result := '&sup2;';



 if (HCode = '&amp;sup3;') or (HCode = '&sup3;') then Result := '&sup3;';



 if (HCode = '&amp;acute;') or (HCode = '&acute;') then Result := '&acute;';



 if (HCode = '&amp;micro;') or (HCode = '&micro;') then Result := '&micro;';



 if (HCode = '&amp;para;') or (HCode = '&para;') then Result := '&para;';



 if (HCode = '&amp;middot;') or (HCode = '&middot;') then Result := '&middot;';



 if (HCode = '&amp;cedil;') or (HCode = '&cedil;') then Result := '&cedil;';



 if (HCode = '&amp;sup1;') or (HCode = '&sup1;') then Result := '&sup1;';



 if (HCode = '&amp;ordm;') or (HCode = '&ordm;') then Result := '&ordm;';



 if (HCode = '&amp;raquo;') or (HCode = '&raquo;') then Result := '&raquo;';



 if (HCode = '&amp;frac14;') or (HCode = '&frac14;') then Result := '&frac14;';



 if (HCode = '&amp;frac12;') or (HCode = '&frac12;') then Result := '&frac12;';



 if (HCode = '&amp;frac34;') or (HCode = '&frac34;') then Result := '&frac34;';



 if (HCode = '&amp;iquest;') or (HCode = '&iquest;') then Result := '&iquest;';



 if (HCode = '&amp;Agrave;') or (HCode = '&Agrave;') then Result := '&Agrave;';



 if (HCode = '&amp;Aacute;') or (HCode = '&Aacute;') then Result := '&Aacute;';



 if (HCode = '&amp;Acirc;') or (HCode = '&Acirc;') then Result := '&Acirc;';



 if (HCode = '&amp;Atilde;') or (HCode = '&Atilde;') then Result := '&Atilde;';



 if (HCode = '&amp;Auml;') or (HCode = '&Auml;') then Result := '&Auml;';



 if (HCode = '&amp;Aring;') or (HCode = '&Aring;') then Result := '&Aring;';



 if (HCode = '&amp;AEling;') or (HCode = '&AElig;') then Result := '&AElig;';



 if (HCode = '&amp;Ccedil;') or (HCode = '&Ccedil;') then Result := '&Ccedil;';



 if (HCode = '&amp;Egrave;') or (HCode = '&Egrave;') then Result := '&Egrave;';



 if (HCode = '&amp;Eacute;') or (HCode = '&Eacute;') then Result := '&Eacute;';



 if (HCode = '&amp;Ecirce;') or (HCode = '&Ecirc;') then Result := '&Ecirc;';



 if (HCode = '&amp;Euml;') or (HCode = '&Euml;') then Result := '&Euml;';



 if (HCode = '&amp;Igrave;') or (HCode = '&Igrave;') then Result := '&Igrave;';



 if (HCode = '&amp;Iacute;') or (HCode = '&Iacute;') then Result := '&Iacute;';



 if (HCode = '&amp;Icirce;') or (HCode = '&Icirc;') then Result := '&Icirc;';



 if (HCode = '&amp;Iuml;') or (HCode = '&Iuml;') then Result := '&Iuml;';



 if (HCode = '&amp;ETH;') or (HCode = '&ETH;') then Result := '&ETH;';



 if (HCode = '&amp;Ntilde;') or (HCode = '&Ntilde;') then Result := '&Ntilde;';



 if (HCode = '&amp;Ograve;') or (HCode = '&Ograve;') then Result := '&Ograve;';



 if (HCode = '&amp;Oacute;') or (HCode = '&Oacute;') then Result := '&Oacute;';



 if (HCode = '&amp;Ocirc;') or (HCode = '&Ocirc;') then Result := '&Ocirc;';



 if (HCode = '&amp;Otilde;') or (HCode = '&Otilde;') then Result := '&Otilde;';



 if (HCode = '&amp;Ouml;') or (HCode = '&Ouml;') then Result := '&Ouml;';



 if (HCode = '&amp;times;') or (HCode = '&times;') then Result := '&times;';



 if (HCode = '&amp;Oslash;') or (HCode = '&Oslash;') then Result := '&Oslash;';



 if (HCode = '&amp;Ugrave;') or (HCode = '&Ugrave;') then Result := '&Ugrave;';



 if (HCode = '&amp;Uacute;') or (HCode = '&Uacute;') then Result := '&Uacute;';



 if (HCode = '&amp;Ucirc;') or (HCode = '&Ucirc;') then Result := '&Ucirc;';



 if (HCode = '&amp;Uuml;') or (HCode = '&Uuml;') then Result := '&Uuml;';



 if (HCode = '&amp;Yacute;')
java und der ganze rest muss auch raus... ich brauche nur das was wirklich auf der seite steht...

[edit=mkinzler]Zeilenumbrüche eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: HTML Tags entfernen

  Alt 17. Jan 2008, 11:08
Delphi-Quellcode:
function StripTags( line: string; c1, c2: Char): string;
var
   p, p1, p2, pr, pt: PChar;
   res: string;
   Buf: string;
   i: Integer;
begin
   p:= PChar(line);
   SetLength( Buf, Length( line));
   while( p <> nil) and ( p <> '') do
   begin
      p1 := StrScan( p, c1);
      if p1 <> nil then
      begin
        p2 := StrScan( p1, c2);
        pt := StrScan( p1+1, c1);
        if pt <> Nil then
            if pt < p2 then //Weitere Tagöffnung vor Tagschliessung
            begin
              pr := PChar( Buf);
              StrLCopy( pr, p, p1-p);
              Res := Res + pr;
              p := p1;
              p1 := pt;
            end;
        if p2 <> Nil then
        begin
          pr := PChar( Buf);
          StrLCopy( pr, p, p1-p);
          Res := Res + pr;
          p := p2+1;
        end
        else
        begin
          Res := Res + p;
          p:= nil;
        end
      end
      else
      begin
        Res := Res + p;
        p:= nil;
      end;
   end;
   result := res;
end;
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: HTML Tags entfernen

  Alt 17. Jan 2008, 12:12
Hier auch nochmal ein Vorschlag mit regulären Ausdrücken...
Delphi-Quellcode:
function CleanHtmlTags(Html:string):string;
var RegExpr:TRegExpr;
begin
  Result:='';
  RegExpr:=TRegExpr.Create;
  try
    RegExpr.ModifierG:=false;
    RegExpr.Expression:='<body>(.*)</body>';
    if RegExpr.Exec(Html) then begin
      Html:=RegExpr.Match[0];
      RegExpr.Expression:='<.*>';
      Result:=RegExpr.Replace(Html, ' ', false);
      Result:=trim(StringReplace(Result, ' ', ' ', [rfReplaceAll]));
    end;
  finally
    RegExpr.Free;
  end;
end;
RegExpr

Gruss
Thorsten
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: HTML Tags entfernen

  Alt 17. Jan 2008, 14:26
Hallo,

Zitat von Blackheart:
WebBrowser1.OleObject.Document.documentElement.innerText;
vermutlich ist Beitrag #6 ein wenig untergegangen ...

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: HTML Tags entfernen

  Alt 17. Jan 2008, 15:04
hm... nein ist nicht untergegangen... ich hab ein problem mit dem browser.. selbst wenn ich ihm erlaube ins internet zu verbinde, steht da das die seite nicht angezeigt werden kann... wie muss ich den browser konfigurieren damit er seiten auch anzeigt?

[edit= ich hab meinen fehler gefunden... hatte keinen IE installiert... funktioniert jetz alles! herzlichen dank!]
  Mit Zitat antworten Zitat
Benutzerbild von knolli
knolli

Registriert seit: 22. Sep 2006
Ort: Zittau
83 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: HTML Tags entfernen

  Alt 18. Jan 2008, 19:29
ähm... ich hab mal noch ne frage...

gibt es mit dem WebBrowser AUCH ne möglichkeit die links zu holen?
wenn ja wie heißt die?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#19

Re: HTML Tags entfernen

  Alt 18. Jan 2008, 20:27
Du kannst hier im Forum mehrere Versionen von Hier im Forum suchenExtractLinks() finden, die dir dabei helfen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.036 Beiträge
 
Delphi 12 Athens
 
#20

Re: HTML Tags entfernen

  Alt 18. Jan 2008, 21:34
Zitat von knolli:
gibt es mit dem WebBrowser AUCH ne möglichkeit die links zu holen?
wenn ja wie heißt die?
Zitat:
WebBrowser1.OleObject.Document.documentElement.innerText
das Rote entspricht dem, was in HTML>JavaScript möglich ist ...


also einfach mal versuchen dort analog zum JavaScript (z.B. siehe SelfHTML) versuchen darauf zuzugreifen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 16:58 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