Link to home
Start Free TrialLog in
Avatar of lavitz
lavitzFlag for Poland

asked on

WebBrowser delete tag

Hi,

How can i delete tag from webbrowser component?
Or how i can get tag source by tag name?
Avatar of Geert G
Geert G
Flag of Belgium image

you can hide it be recreating a new component
but it takes a special function call

is it something like that your are looking for ?

you can't hide it from the standard component
in the new package you need to call this procedure from DesignIntf

procedure UnlistPublishedProperty(ComponentClass: TClass; const PropertyName: string);

you do this after the call to registercomponent.


UnlistPublishedProperty(TWebBrowser, 'TAG');
Avatar of lavitz

ASKER

Iam using webbrowser for mail editing. In edit mode, source mail have additional tags and scripts that are using only when editing. Before mail save iis done i need to remove these tags end scripts so i search for safe solution to remove them.
Avatar of lavitz

ASKER

And by 'tag' i mean html tag i.e <SPAN>
ah it's in the source code of the html

if you have the source, then you can use posex on that if you have a unique way of distinguishing the tags

<TAG ID=1234 ...> </TAG>

n := PosEx('<TAG ID=1234', html.sourcetext);
m := PosEx('</TAG>', html.sourcetext, n);
Delete(Html.sourcetext, n, m-n+5);


ASKER CERTIFIED SOLUTION
Avatar of aflarin
aflarin

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
If you want to remove all tags in a message you can use this function. Just pass the complete message as a string and it will return the string with all tags removed. If your message is not in one string, simply repeat the procedure for each one.
Function RemoveTags (Code:string) : string;
  Var Start, Stop : integer;
    Begin
      Result:='';
      Start:=Pos ('<',Code);
      While Start>0 do
        Begin
          Stop:=Start+1;
          While (Stop<=Length (Code)) and (Code [Stop]<>'>') do
            Inc (Stop);
          If Stop>Length (Code) then
            Exit;
          Code:=Copy (Code,1,Start-1)+Copy (Code,Stop+1,Length (Code)-Stop);
          Start:=Pos ('<',Code)
        End;
      Result:=Code
    End;

Open in new window