Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : programme avec preg_match [ Divers / Divers ] (lassad_haddaji)

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é 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.