Decouper un lien

Contenu du snippet

Une petite fonction qui donne les differente partie d'un lien, et qui permet entre autres de "nettoyer" un lien ayant des varibles passer en parametres dans l'url.

Source / Exemple :


program GereChaine;

{$APPTYPE CONSOLE}

uses
  SysUtils;

function LinkFilter(Chaine:String;Partie:string):string;
var
 i,Stop,Stop2:integer;
 Lien,DernierMorceau,Fichier,Extension,Final:string;
begin
 Stop:=0;
  For i:=0 to Length(Chaine) do
  begin
   if ((Chaine[i]='/')or(Chaine[i]='\')) then Stop:=i;
  end;
 DernierMorceau:=Copy(Chaine,Stop+1,Length(Chaine)-Stop+1);
 Lien:=Copy(Chaine,0,Length(Chaine)-Length(DernierMorceau));
 Stop2:=0;
  For i:=0 to Length(DernierMorceau) do
  begin
   if DernierMorceau[i]='.' then Stop2:=i;
  end;
 Extension:=Copy(DernierMorceau,Stop2,Length(DernierMorceau)-Stop2+1);
 Fichier:=Copy(Chaine,Stop+1,Length(DernierMorceau)-Length(Extension));
 Stop:=0;
  For i:=0 to Length(Extension) do
  begin
   If((Stop=0)and( (Extension[i]='?') or
                   (Extension[i]='&') or
                   (Extension[i]='+') or
                   (Extension[i]='%') ))
   then Stop:=i;
  end;
 Extension:=Copy(Extension,0,Stop-1);
 if (UpperCase(Partie)='LIEN')     then Final:=Lien;
 if (UpperCase(Partie)='FICHIER')  then Final:=DernierMorceau;
 if (UpperCase(Partie)='NAME')     then Final:=Fichier;
 if (UpperCase(Partie)='EXTENSION')then Final:=Extension;
 if (UpperCase(Partie)='FILTRER')  then Final:=Lien+Fichier+Extension;
Result:=Final;
end;

Procedure Main();
var
 ch,param:string;
begin
// ReadLn(ch); //Pour taper sa propre url
 ch:='http://www.DelphiFr.com/Download/essaie/SuperTruc.asp?Loginj=qqn&Pass=qqch&wid=1267878';
 WriteLn(ch);WriteLn;
 ReadLn(param);
 Write(LinkFilter(ch,param));
end;

begin
 Main();
 ReadLn;
end.

Conclusion :


Une petite fonction qui permet de gerer different partie d'un lien.

"Partie" peut prendre la valeur:
Lien:= Donne le chemin de la page
Fichier: donne juste le nom de la page
Name:Done le nom de la page sans l'extension
Extension:donne l'extension de la page
Filtrer:Donne l'url sans les variable passer en parametres dans l'url

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.