Récuperer valeur dans chaine

bartholomey Messages postés 23 Statut Membre -  
 FlashGordon2 -
Bonjour,
J'aimerais récupérer dans cet exemple le docid de l'url :
http://video.google.fr/videoplay?docid=-5641425821964790623&hl=fr

L'utilisateur rentre ce lien, et je voudrais extraire ceci dans une variable : -5641425821964790623

Mais en sachant que le lien peut être un peu modifié... comme :
http://video.google.com/videoplay?docid=-5641425821964790623&hl=fr
http://video.google.fr/videoplay?docid=-5641425821964790623
par exemple...

Donc voila, je pense qu'il faut utiliser les expressions régulières, mais je vois pas comment extraire un bout de chaine bien précis, sachant que cela doit être fais en javascript (mais si possible je voudrais l'équivalent en php)

Merci de votre précieuse aide

3 réponses

bartholomey Messages postés 23 Statut Membre
 
est ce que la fonction split() pourrait faire ce que je veux faire...? j'ai beau chercher mais je trouve pas de solutions...
0
bartholomey Messages postés 23 Statut Membre
 
personne n'a d'idée ? :(
0
FlashGordon
 
Salut,
J'ait pas vérifié si ça marchait mais ça doit être un truc dans le style:

<?php

/* avec ça on récupéres l'url de la page */
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$url_page = $path_parts['basename'];

$delimiter= 'docid=' ;
$scinde_en_deux= explode  ( "docid=", $url_page );

echo $scinde_en_deux[0]; // premiere partie de l'url
echo $scinde_en_deux[1]; // deuxième partie

?>
0
FlashGordon2
 
edit:_
$delimiter sert à rien, oublié de l'effacer
_
Le javascript aussi me parait tout indiqué, il faut utiliser lastIndexOf , sans partir sur les expressions régulières qui me donnes des boutons.
Par exemple un code vérifié qui marche pour vérifier un email dans un formulaire:

function controle()
{
	
var msg="";
var verifemail='';
	if(document.formulaire.email.value=='')
	{
	msg+='-Entrez votre email';
	} else if ((document.formulaire.email.value.lastIndexOf(".") < document.formulaire.email.value.indexOf("@")+2 
      || document.formulaire.email.value.lastIndexOf(".") > document.formulaire.email.value.length-3 
      || document.formulaire.email.value.indexOf("@") < 1 ) )
 {
msg+='-Email invalide';
}
else{
alert(msg+'\n   -Merci de vérifier votre saisie-');
}

}
0