[PHP] Transformer des liens relatifs...

Transformer des liens relatifs... [PHP] - Programmation

Marsh Posté le 28-07-2002 à 12:18:45    

Salut à tous!
J'ai besoin de transformer tous les liens que j'ai ds un array en liens relatifs à la racine.
Je sais de quel document proviennent ces liens, donc je devrais pouvoir faire ça mais je ne sais pas trop comment m'y prendre.
Voilà ce que j'ai:

Code :
  1. $fichier = "/repertoire1/ss_repertoire/index.php";
  2. dans un array, je récupère tt les liens de cette page (ça c'est déjà fait)
  3. ce qui me donne par exemple:
  4. Array
  5. (
  6.      [0] => /repertoire2/
  7.      [1] => ../page.php
  8.      [2] => ../../page1.php
  9. ect...
  10. )


Et je voudrais à la fin obtenir:

Code :
  1. Array
  2. (
  3.      [0] => /repertoire2/
  4.      [1] => /repertoire1/ss_repertoire/page.php
  5.      [2] => /repertoire1/page1.php
  6. ect...
  7. )


Connaissant le contenu de ma variable $fichier, comment est-ce que je pourrais faire ça?

Reply

Marsh Posté le 28-07-2002 à 12:18:45   

Reply

Marsh Posté le 28-07-2002 à 21:28:16    

:??:

Reply

Marsh Posté le 29-07-2002 à 01:06:09    

:cry:

Reply

Marsh Posté le 29-07-2002 à 01:12:58    

ben ... c tout con ...  :heink:  
mais deja tu t gourré dans ce que tu veux obtenir :
 
pour :
 


Array  
(  
    [0] => /repertoire2/  
    [1] => ../page.php  
    [2] => ../../page1.php  
ect...  
)  


 
le résultat est :
 


Array  
(  
    [0] => /repertoire2/  
    [1] => /repertoire1/page.php  
    [2] => /page1.php  
ect...  
)  


 
 
tu te fais un petit algo a 2 balles ca prendra pas longtemps

Reply

Marsh Posté le 29-07-2002 à 10:02:23    

oui merci pour la correction!
mais ça m'avance pas bcp plus... peut-être que pour toi ça te paraît simple... mais moi je ne vois pas comment faire...
Donne moi au moins les fonctions qui pourraient m'être utiles...
 
Comment faire un boucle pour que je fasse le remplacement TANT que ma variable contient des ".."?  :??:


Message édité par Toto21 le 29-07-2002 à 10:03:35
Reply

Marsh Posté le 29-07-2002 à 12:21:59    

algo a deux balles ...
 
nbr = nombre de niveaux de repertoires dans $fichier
tabr = split de $fichier sur /
 
pour transformer un lien relatif $lien en lien absolu :
1) si le lien a transformer commence par un / -> rien a faire, c deja un lien absolu $temp = $lien
2) nbo = nombre d'occurrences de .. dans $lien
3) recopier les ($nbr - $nbo) premiers éléments de $tabr (remplacement des ..) dans une variable $temp
4) coller la fin de $lien (tout ce qu'il y a apres les ..) a la fin de $temp
 
$temp contient ton lien absolu
 
a peu de choses pres c ca ...


Message édité par HappyHarry le 29-07-2002 à 12:22:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed