提取网址:
function qianurl(URL: String): String; begin if Pos('http://', URL) > 0 then Delete(Url, 1, 7); Result := Copy(Url, 1, Pos('/', Url) - 1); if Pos('https://', URL) > 0 then Delete(Url, 1, 8); Result := Copy(Url, 1, Pos('/', Url) - 1); if Result = '' then Result := URL; end;
url转码 idhttp下载中文的网址是会404的 这个函数把中文部分转下码就可以用idhttp下载了,uses 需要加入 httpapp.
function urlencode(Aurl: string): string; var i: integer; stmp,Tstmp: string; begin result:=Aurl; if length(Aurl) > 0 then begin for i := 1 to length(Aurl) do begin if Integer(Ord(Aurl[i])) >255 then begin stmp := copy(Aurl, i, 1); Tstmp:=HttpEncode(stmp); result:=stringreplace(result,stmp,Tstmp,[]); end; end; end; end;
取url的文件名,实际就是取最后一个”/”后面的数据!
function GetName(aURL: string): string; var i: integer; s: string; begin s := aURL; i := Pos('/', s); while i <> 0 do begin Delete(s, 1, i); i := Pos('/', s); end; Result := s; end;
提取网页中的图片及js链接, ‘src=”(.*?)“‘ 红色部分是从什么字符匹配到什么字符,
function tiqu_src(const AInputString: string): utf8string; const tiqu = 'src="(.*?)"' ; var r: TRegExpr; begin Result := ''; r := TRegExpr.Create; try r.Expression := tiqu; if r.Exec(AInputString) then repeat Result := Result + utf8string(r.Match[0]) + #13#10; until not r.ExecNext; finally r.Free; end; end;
function tiqu_href(const AInputString: string): utf8string; const tiqu = 'href="(.*?)"' ; var r: TRegExpr; begin Result := ''; r := TRegExpr.Create; try r.Expression := tiqu; if r.Exec(AInputString) then repeat Result := Result +utf8string(r.Match[0]) + #13#10; until not r.ExecNext; finally r.Free; end; end;
标签:delphi
发表评论