begin process at 2010 02 09 16:05:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

programme avec preg_match


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

programme avec preg_match

mardi 29 juillet 2008 à 04:58:44 | programme avec preg_match

lassad_haddaji

bonjour, merci de m'aider une autre fois prendant cette semaine, jai un probleme avec preg_match, jai pas pu composé cette chaine exemple: 48°26'58.11"
bon j'explique un peu, je veux charger les trois nombre dans trois variable quand va l'appeler a, b, c
donc resultat sera comme ca: a=48   b=26    c=58.11
j'ai reussi de faire allouer le premier variable mais le reste jai pas pu, donc on doit eliminer les caracteres °, ', "

le script:
$text_compose=$_post['text'];
preg_match("/[0-9][0-9]/", $text_compose, $sortie);
    $a=$sortie[0];
 echo $a;  //s'affiche les deux premiers nombre 48 par exemple

 preg_match("|[0-9][0-9]./[0-9][0-9]/i",$text_compose , $sortie);
    $b=$sortie[0];
 echo $b;

  preg_match("\'(.*?)\"", $text_compose, $sortie);
    $c=$sortie[0];
 echo $c;

/////////////////////////////////////////////////////

Merci de me repondre, j'attend vos reponse
mardi 29 juillet 2008 à 11:15:11 | Re : programme avec preg_match

JoJo738

Membre Club
Réponse acceptée !
Salut,

Hum ... tu te compliques la vie :s

Prenons une variable :
$var = '48°26\'58.11"';

On à donc CC°CC'CC.CC" (C étant un chiffre).
Il ne reste plus qu'a faire un seul preg_match();

On à donc :

$var = '48°26\'58.11"';
if( preg_match('`([0-9\.]+)°([0-9\.]+)\'([0-9\.]+)"`', $var, $matches) )
{
    print_r($matches);
}


Si ma reponse te convient, merci de l'accepter ! 
mardi 29 juillet 2008 à 11:23:31 | Re : programme avec preg_match

lassad_haddaji

bonjour,
c'est vrai que je complique ma vie, meme que la est trop simple.

merci encore infiniment

mardi 29 juillet 2008 à 12:30:45 | Re : programme avec preg_match

lassad_haddaji

rebonjour,
ton exemple de la chaine $var ca marche tres bien mais si on prend

$var='43°51.12\'30\"'
et
preg_match('`([0-9\.]+)°([0-9\.]+)\'([0-9\.]+)\"`', $var, $matches)

 prennant totalement votre exemple et on ajoute le slash, le probleme vient de deuxieme slash et ",

merci de me repondre

mardi 29 juillet 2008 à 17:11:54 | Re : programme avec preg_match

JoJo738

Membre Club
Réponse acceptée !
Re,

Euh ... quel intéret de mettre un antislash au " ?

Ma variable est de la forme $var = ' ... '; (des simples quotes)
Donc, il faut juste des antislashs devant les '. Si c'était $var = " ... \" ... "; il faudrait un \ devant les ".

Dans ce cas là, il faudrait faire :  '`([0-9\.]+)°([0-9\.]+)\'([0-9\.]+)\\"`'
^^

Maais inutile (surtout depuis la version 6.0.0 de Php)

Il faut aussi faire attention lorsque l'on met sur un serveur (voir en local). Selon la configuration, des antislashs sont ajoutés automatiquement lors des _POST, _GET, _SESSION, _COOKIES, _FILES, _SERVER & _ENV.
Dans ce cas, il faut mettre un code qui va appliquer un stripslashes() sur les valeurs ^^

Pris au hasard sur php.net :

<?php
function stripslashes_deep($value)
{
    $value = is_array($value) ?
                array_map('stripslashes_deep', $value) :
                stripslashes($value);

    return $value;
}
?>

This gives:

<?php
if((function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc())    || (ini_get('magic_quotes_sybase') && (strtolower(ini_get('magic_quotes_sybase'))!="off")) ){
    stripslashes_deep($_GET);
    stripslashes_deep($_POST);
    stripslashes_deep($_COOKIE);
}
?>
Tu colles ça quelque part dans ton fichier (config/function/...) et plus besoin d'utiliser la focntion stripslashes()

Si ma reponse te convient, merci de l'accepter ! 
jeudi 14 août 2008 à 20:20:36 | Re : programme avec preg_match

lassad_haddaji

salut,
je sais pas ou je mettre la fonction de stripslashes
mais bon jai utilisé le stripslashes sur les entrer de $_post[]

merci

jeudi 14 août 2008 à 21:16:52 | Re : programme avec preg_match

JoJo738

Membre Club
Hello ^^

Euh, tu colle le bout de code au début de tes pages (par exemple, dans un fichier config/function/...)
Après, plus besoin de mettre des stripslashes (sauf cas particulier enfonction de ton codage)


Sinon, il faut modifier le php.ini (magic_quotes_gpc), là, plus besoin de rien faire (mais mettre ce code permet une compatibilité inter-versions/config ^^

Si ma reponse te convient, merci de l'accepter ! 


Cette discussion est classée dans : text, preg, sortie, match, compose


Répondre à ce message

Sujets en rapport avec ce message

preg_replace [ par Tomcube ] Est-ce que quelqu'un pourrait me modifier cette ligne pour la faire accepter les retours à la ligne (\n), j'ai trop de mal avec les masques ! $text = Preg_match_all , soucis d'utilisation [ par Bountard ] Bonjour à tous, j'ai un problème depuis quelques jours avec preg_match_all. Voila mon code : $html = ' un deux un bis Métacaractères... [ par mfaraday ] Salut...Est-ce que quelqu'un pourrait m'expliquer comment utiliser les métacaractères dans un profil de recherche pour la fonction preg_match par exem Masque pour preg_match() ... Aidez-moi ! [ par LocalStone ] Alors, j'expose le problème : J'ai 1 fichier texte qui contient des ligne du style : 0004 - Chu Chu Rocket (J)Donc le masque approprié pour sépare Prob avec preg_replace() [ par Kevergeek ] Voici mon code : $file = "templates/default/test.tpl"; $template['TITLE'] = "titre"; $template['TEXT'] = "blabla"; $file = file_get_contents($file) Preg_match [ par w_minisplash_w ] Bonjour à tous,Voici mon problème :J'ai une chaine './dossier_1/dossier_2/....../dossier_n'Je veux en extraire dossier_nJ'ai donc essayé avec preg_mat utilisation de preg_match [ par joebuz ] bonjour, voila j'ai 4 type de phrases (pour l'instant) et je veux en extraire le morceau compris entre // et //1- $phrase = "salut visiteur //act_001. Problème avec preg_match_all [ par Bountard ] Salut à tous, j'ai un petit problème avec l'utilisation de preg_match_all. Pour faire plus simple voila mon bout de code d'essai :   $html = ' un preg_match [ par Teclis01 ] Bonsoir,Je voulais parser un fichier html et faire une signature dynamique enfonction de ce que je souhaite récuperer. Néanmoins j'ai un petit soucis Interpreter du php avec une fonction preg_match [ par cedriclomb ] Bonjour,Voila le probleme        function traiter_php()            {             $pattern = "()";             $recherche="";            preg_match($pa


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,264 sec (4)

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