begin process at 2010 03 20 21:54:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Regex, besoin d'aide


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Regex, besoin d'aide

samedi 29 décembre 2007 à 21:01:36 | Regex, besoin d'aide

taxidogkiller

Bonjour, je débute en php et j'ai un peux de mal avec les regex, pourriez vous me dire ce qui ne va pas :
voici ce que j'ai fait :
<?php
$src = "var fullscreenUrl = '/watch_fullscreen?video_id=I4u3449L5VI&l=49&t=OEgsToPDskJ15vTYghbY4cV6svG65ni9&sk=Qm2dSw1ODsdMOA0rq4wsjQC&fs=1&title=Test de regex';";

preg_replace_callback("watch_fullscreen?video_id=(.+?)&.*&t=(.+?)&.*&title=(.+?);`i", 'test' , $src);
?>
la régex est sensé selectionner l'id de la video ( dans l'exemple : I4u3449L5VI ), la variable t ( ici : OEgsToPDskJ15vTYghbY4cV6svG65ni9), et la variable title (ici : Test de regex) mais malheureusement ca ne marche pas ^^

Merci d'avance :D
taxidogkiller
samedi 29 décembre 2007 à 23:34:02 | Re : Regex, besoin d'aide

neigedhiver

Réponse acceptée !
Salut,

Que fait ta fonction "test" ?

Sinon, le masque (.+?) est mal écrit : le + indique la présence d'au moins 1 caractère. Le ? de 0 ou 1 caractère. Donc, il y a conflit. De plus, ce masque est trop permissif : tu sais pertinemment que tu n'as que des chiffres ou des lettres (maj/min), et rien d'autre : limite toi à ça avec ([a-zA-Z0-9]+).

Ton expression régulière n'a pas de délimiteur de début. Tu as bien spécifié celui de fin ( ` ) mais pas celui de début.

Quant au titre, je doute qu'il y ait des espaces : l'url doit avoir été encodée avec url_encode() (ce qui encode les caractères spéciaux, dont les espace). Il faudra décoder avec url_decode().



$res = preg_match('`((?<=video_id=)[a-zA-Z0-9]+)(?:.*)((?<=t=)[a-zA-Z0-9]+)(?:.*)((?<=title=)[\w\s]+)`', $src, $matches);
if ($res) {
    list($id, $t, $title) = $matches;
}
dimanche 30 décembre 2007 à 08:47:15 | Re : Regex, besoin d'aide

taxidogkiller

Merci beaucoup ! ca marche nikel, en plus je m'était trompé de fonction il falait que j'utilise preg_match comme tu l'a écrit !

dimanche 30 décembre 2007 à 10:02:27 | Re : Regex, besoin d'aide

malalam

Administrateur CodeS-SourceS
Hello,

pourquoi passer par une expression régulière pour faire ça alors qu'il y a des fonctions dédiées forcément plus rapides ?
<?php
$src = "var fullscreenUrl = '/watch_fullscreen?video_id=I4u3449L5VI&l=49&t=OEgsToPDskJ15vTYghbY4cV6svG65ni9&sk=Qm2dSw1ODsdMOA0rq4wsjQC&fs=1&title=Test de regex';";
$aParsed = parse_url($src);
parse_str($aParsed['query'], $aQuery);
echo $aQuery['video_id'];
?>


Cette discussion est classée dans : aide, variable, regex, ici


Répondre à ce message

Sujets en rapport avec ce message

Récupération d'une variable [ par Paraglider ] Bonjour, N'étant pas expert en PHP, je me permet de poser une question. Après plusieurs recherches sur les forums et internet, je ne trouve pas l'aide Probleme en POO [ par pablor44 ] Bonjour,alors voilà je vous explique mon probleme, je suis en train d'ecrire une classe en php pour mon site et je me retrouve dans la situation suiva Regex besoin d'aide [ par cseagle ] Bonjour, j'essaye de faire une regex pour controler une liste d'emails entrée dans un champ de form mais elle me considère tous mes emails comme mauv Passage de variable entre feuilles php besoin d'aide des veterans [ par patxka ] voila mon probléme de débutant en php !!!J'ai un fichier toto.php dans lequel je définie une variable $i et je veux recuperer cette variable deans le Toujours de l'aide !!!! [ par nagrom_om ] Salut,En fait j'ai enfin réussi le passage d'une variable via l'url en faisant comme cela :function  OpenImprimConge(numConge){ var numConge;      win AIDE : Probleme avec la variable $_SERVER["LOGON_USER"] [ par carric ] Bonjour à Tous et merci par avance de l'aide que vous allez m'apporter.Cela fait maintenant plusieurs jours que je lutte contre la variable $_SERVER[" Aide pour une regex [ par karimfellah ] stl à tous et à toutes. SVP j'ai pas de bonnes connaissances pour les regex en plus sa m'embéte. je cherche une regex qui permet de retourner les p recuperer plusieur bout d'une chaine de caractere [ par Ellocos ] bonjour, voila j'ai un petit soucis. je récupère une variable du style : chaine =21-24-12-14-17-19-1-26- je récupère une 2eme variable qui me dit co Problème contournement login [ par steph12358 ] Bonjour j'ai un petit soucis.Dans une fenêtre de login je positionne une variable de session à "1". Dans toutes mes pages je vérifie que la variable Problème de regex [ par trasher ] Salut, Voilà, je suis entrain de récuperer des infos sur un site avec ce regex : [code=php]<?php preg_match('#Long-m[^"]+trage(.*?)\.#is', $recup, $


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales