IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Prendre les tirets en compte dans un URL mais pas dans une variable


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Points : 18
    Points
    18
    Par défaut Prendre les tirets en compte dans un URL mais pas dans une variable
    Bonjour.
    J'ai fait un fil d'ariane :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
    function filAriane()
    {
      $path = $_SERVER['PHP_SELF'];
      $file = basename ($path);
     
    	function titre($page) //fonction pour récupérer le titre de la page
    	{
    		$title = '';
    		$file = file_get_contents($page);
    		if (eregi("<title>(.*)</title>", $file, $sortie)) $title = $sortie[1];
     
    		return $title;
    	}
     
    	$mytitle = titre($file);
     
    	$path = $_SERVER['PHP_SELF'];
    	$file = basename ($path);
     
    	$titre=$file;
     
    	$nbr = 4;
    	$name = substr($titre, 0, -$nbr);
     
    	$var=explode('/',$_SERVER['REQUEST_URI']);
    	$i=0;
    	$i2=0;
    	foreach($var AS $contenu)
    	{
    		if($var[$i]!=$var[count($var)-1] and !empty($var[$i]) AND $i!=0)
    		{
    			$contenu2.=((!empty($contenu))?($contenu.'/'):(''));
    			$var[$i]='<a href="http://'.$_SERVER['HTTP_HOST'].'/'.$contenu2.'">'.ucfirst($contenu).'</a>';
    			$i2++;
    		}
    		$i++;
    	}
    	if (empty($_GET['p']))
    		$var[$i-1]=$mytitle.'.php';
    	else
    		$var[$i-1]=$_GET['p'].'.php';
     
    	if(!empty($var[count($var)-1]))
    	{
    		$var[count($var)-1]=ucfirst(substr($var[count($var)-1],0,strrpos($var[count($var)-1],'.')));
    		$i2++;
    	}
    	$var=ltrim(urldecode(implode(' > ',$var)),' > ');
    	if(preg_match('# > $#isU',$var))
    	{
    		$var=preg_replace('# > $#isU','',$var);
    	}
            $var = str_replace('-', ' ', $var);
    		$var = str_replace("Apprendre Informatique", " ", $var);
     
    	return '<a href="http://www.apprendreinformatique.fr/plan.php" style="color: #808080;font-style: underline;">[Plan du site]</a>&nbsp;&nbsp;<a href="http://'.$_SERVER['HTTP_HOST'].'">Apprendre informatique</a> > '.$var;
     
     
    }
    ?>
    Et il y a un problème : quand je remplace des tirets par un espace, le lien URL se met par exemple www.site.fr/nom du dossier au lieu de www.site.fr/nom-du-dossier
    Comment faire pour qu'il prenne en compte le tiret dans l'url mais qu'il ne l'affiche pas ?
    merci

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par christophetd Voir le message
    Bonjour.
    J'ai fait un fil d'ariane : .......
    merci
    Il y a une différence avec la variable qui fait le lien et le texte, tu devrais séparer les deux
    <a href="http://www.mon-site-.com/index.php" >mon site</a>

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Ah ok.
    Le problème c'est que ce n'est pas moi qui ai fait ce script (je l'ai trouvé sur le net ) donc je ne comprends pas trop son fonctionnement
    Tu ne pourrait pas me montrer un peu ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/09/2013, 10h00
  2. Réponses: 3
    Dernier message: 30/07/2008, 11h56
  3. [RegEx] Regex qui fonctionne dans un preg_replace mais pas dans un ereg
    Par méphistopheles dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2007, 11h56
  4. Réponses: 2
    Dernier message: 25/03/2006, 18h54
  5. Applet qui s'execute dans un dossier mais pas dans l'autre
    Par Battosaiii dans le forum Applets
    Réponses: 11
    Dernier message: 10/12/2005, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo