Page 1 sur 1

regex

Posté : 29 janv. 2012, 11:43
par xkukat
Bonjour,
Je cherche avec preg_match_all à remplacer automatiquement dans mes codes source $xxxx terminé par [espace=<>] par $_post[xxxx]
mais je n'arrive pas à construire la regex!
Merci de m'aider

Re: regex

Posté : 29 janv. 2012, 12:58
par Fre3z69
Explique nous plus en détail ce que tu cherche,e t dans quelle condition tu souhaite l'utilisé.

Avec ça on pourras comprendre, et mieux l’informé.

Cordialement

Re: regex

Posté : 29 janv. 2012, 13:36
par xkukat
Merci
Voici un exemple de code source:
je lit la ligne du fichier:
if($base==0)echo
je la remplace par :
if($_post['base']==0)echo
et ainsi de suite pour toutes les lignes suivantes.
Cordialement.

Re: regex

Posté : 29 janv. 2012, 14:17
par Fre3z69
Ok, mais pourquoi mettre un $_POST après avoir un variable??

Re: regex

Posté : 29 janv. 2012, 16:46
par xkukat nissib
c'est simple j'ai de nombreuse pages internet sur lesquelles la récupération
de formulaires doivent maintenant ce faire par $_phost ou $_get et plus par $
je voudrais écrire un script pour le faire automatiquement.

Re: regex

Posté : 29 janv. 2012, 17:02
par Fre3z69
je pense que tu peux faire plus simple

echo (!empty($_GET))?'ok':'non';
echo (!empty($_POST))?'ok':'non';

de là tu peux récupérer les valeurs des GET et POST et les extraire pour avoir leur valeur sous forme de variable.

C'est une idée, tu peux voir avec ça si tu peux en faire quelque chose

En espérant que ça va t'aider

Cordialement

Re: regex

Posté : 29 janv. 2012, 17:23
par xTG
je pense que tu peux faire plus simple

echo (!empty($_GET))?'ok':'non';
echo (!empty($_POST))?'ok':'non';

de là tu peux récupérer les valeurs des GET et POST et les extraire pour avoir leur valeur sous forme de variable.

C'est une idée, tu peux voir avec ça si tu peux en faire quelque chose

En espérant que ça va t'aider

Cordialement
C'est ce qu'on appelle un joint pour éviter que le rafiot coule. :lol:
xkukat cherche à s'extirper d'un code développé pour le paramètre register_global.
Utiliser la fonction extract() est bien dans un premier temps quand on manque de temps... Mais c'est loin d'être propre et peut même occasionner des conflits.

Re: regex

Posté : 29 janv. 2012, 17:31
par xkukat
Merci!
Mais je préfère modifier mon code source cela me prendra moins de temps.
Si quelqu'un avait un preg_replace() pour transformer mes $xxxx en $_POST['xxxx'] ?
Cordialement.

Re: regex

Posté : 29 janv. 2012, 22:29
par Fre3z69
Arf là je suis pas trop, je connais pas trop les regex, mais je faire un essaie demain, on verras bien si j'ai eu bon ^^

En tout cas j'éspére que tu auras ta solution ^^

Cordialement

Re: regex

Posté : 29 janv. 2012, 22:42
par xkukat
Merci,
A demain donc

Re: regex

Posté : 31 janv. 2012, 13:56
par Fre3z69
Waou j'y crois pas ^^

J'ai essayer de faire une regex permettant de remplacer tes $variables par les $_POST ['variables']

Ça ma l'air de fonctionner.

Essaye ce script dans un test.php, ensuite met la fonction devant ta variable, ça devrais la mettre en $_POST
<?php
function parseCode($content) {
	// Parsage des balises
$content = preg_replace('`^\$([[:print:]_-]{1,})$`isU', '$_POST[\'$1\']', $content);
return $content;
}

$testons = '$testons';
$testons = parseCode($testons);
echo $testons;

echo '<br />';
if (!empty($_POST)) {
echo ' ok, on passe<br />';
echo ' Tout fonctionne pour la variale transformé?<br />';

	if (!empty($testons))
	{
		echo 'en var : YEP';
	}
	if (empty($testons))
	{
		echo 'en var : NOP';
	}
	if (!empty($_POST['testons']))
	{
		echo 'en post : YEP';
	}
	if (empty($_POST['testons']))
	{
		echo 'en post : NOP';
	}

}
else {echo ' non, ça fonctionne pas';}
?>
<fieldset>
<p>Pour tester le passage des variables:</p>
<form action="index.php" method="post">
<input type="text" name="test" value="test">
<input type="submit" name="envoie" value="envoie">
<form>
</fieldset>
Pour implémenter ton script, chaque variables dont tu as besoin de récupérer leur valeurs, passent les en valeurs en fessant: (ça fonctionne pas de tester les $variables transformées directement en $_POST, faut les tester en $variable)

Code : Tout sélectionner

$var = '$valeurvar'; ou $valeurvar='$valeurvar';
*** D'après mes testes, tu devrais pas avoir besoin d'appeler un $_POST['var'] mais directement $var, alors attention à nommer correctement tes variables, afin de pas avoir de conflit.
Pour ce faire et en être sur, nome les du genre $P_var.

Je sais pas si ça pourras te servir correctement, en espérant que oui

Cordialement

Ps: Il dois y avoir moyen de modifier se script afin d'avoir une facilité plus grande, mais j'avoue que je sais pas trop, je vais faire des test, si je trouve je te le met.

Sinon peux être d'autre connaitrons la meilleur solution!

Re: regex

Posté : 31 janv. 2012, 15:42
par xkukat
Merci
Je suis très loin de mon ordinateur,
et je serais de retour samedi.
je vous tiens au courant.

Re: regex

Posté : 05 févr. 2012, 08:28
par xkukat
Merci,
J'arrive à faire à partir de la fonction 'function parseCode($content)' quelque chose qui me convient.
Cordialement.