Вот как-то так...Конечно не совсем надёжно, но целый парсер я для тебя псиать не буду. Поищи могут быть ошибки. Смысл данного кода: ищем '<a ' и '</a' .
| Код | uses strutils;
...
var s: string; apos, imgpos, a: integer; begin s:='<a href=download/file.zip title="Download Free Software"><img src=images/download.gif align=right width=141 height=34 border=0 alt="Download Free"></a>'; s:=s+'<img src=images/box.gif width=150 height=182 alt="Software BOX" title="Software BOX">'; apos:=0; a:=0; imgpos:=pos('<img ',s); apos:=pos('a',s); while imgpos>0 do begin while (apos<imgpos) and (apos>0) do begin if s[apos-2]+s[apos-1]='</' then a:=a-1; if a<0 then a:=0; if (s[apos-1]='<') and (s[apos+1]=' ') then a:=a+1; apos:=posex('a',s,apos+1); end; if a>0 then showmessage('Êàðòèíêà, êîòîðàÿ íà÷èíàåòñÿ ñ '+inttostr(imgpos)+' ñèìâîëà - ññûëêà') else showmessage('Êàðòèíêà, êîòîðàÿ íà÷èíàåòñÿ ñ '+inttostr(imgpos)+' ñèìâîëà - íå ññûëêà'); a:=0; apos:=posex('a',s,imgpos+1); imgpos:=posex('<img ',s,imgpos+1); end; end;
|
|