Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/03/2007, 00h07   #1
Nouveau Membre du Club
 
Avatar de micatmidog
 
Inscription : février 2004
Messages : 94
Détails du profil
Informations personnelles :
Âge : 21
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : février 2004
Messages : 94
Points : 38
Points : 38
Par défaut Raccourcir une URL à son nom de domaine

Bonjour,

J'ai une url, par exemple : "http://www.example.com/lol/kikoo/mdr/salut.php".
Je voudrais la raccourcir à "www.example.com".

J'utilise la fonction suivante :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function ChercheData($xml, $tag1, $tag2)
{
	$i1 = strpos($xml, $tag1);
	$i2 = strpos($xml, $tag2, $i1);
 
	if ( ($i1!==false) && ($i2!==false) )
	{
		$i1 = $i1 + strlen ($tag1);
 
		$len = $i2 - $i1;
		$data = substr ($xml, $i1, $len);
	}
	else
		$data = "";
 
	return $data;
}
Et le code suivant :
Code :
1
2
$chaine="http://www.example.com/lol/kikoo/mdr/salut.php";
$urlEnCoursAnalyseNDD = ChercheData($chaine, "http://", "/");
Mais celà m'affiche "www.example.com/lol/kikoo/mdr/salut.p".
Est-ce que cela viendrait du slash ?
Avez-vous une autre solution fiable ?

Merci d'avance pour votre aide.
micatmidog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 00h16   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Tu as beaucoup beaucoup plus simple. Mais cette url tu la récupères où ?
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 00h20   #3
Nouveau Membre du Club
 
Avatar de micatmidog
 
Inscription : février 2004
Messages : 94
Détails du profil
Informations personnelles :
Âge : 21
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : février 2004
Messages : 94
Points : 38
Points : 38
Code :
$i2 = strpos($xml, $tag2, $i1+strlen($tag1));
A remplacer à la ligne 2
micatmidog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 00h23   #4
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Tu avais aussi la solution REGEX qui te permettrait en 2 lignes d'avoir le même résultat. Mais bon si ça marche
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 09h39   #5
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Bien que le sujet soit résolu, il existe une fonction native pour cela, parse_url() :
Code :
1
2
3
4
5
6
7
8
9
 
<?php
	$info = parse_url('http://www.example.com/lol/kikoo/mdr/salut.php');
 
	foreach ($info as $cle => $valeur)
	{
		echo "$cle => $valeur<br>";
	}
?>
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h57.


 
 
 
 
Partenaires

Hébergement Web