Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: aspkiddy le le 27-08-2010 a 15:57:57

Titre: optimiser le code avec des fontions
Posté par: aspkiddy le le 27-08-2010 a 15:57:57

Bonjour,

J’ai un bout de code (qui marche sans problème) mais j’aimerais bien alléger en réécrivant…


Code:
// fonction preg_replace
// replacer [;] par [.,]
// remplacer [\r\n] par [--->]
//[\r\n] dans excel, c'est un saut à la ligne




$var_votre_nom = preg_replace( "/;/", ".,", $var_votre_nom );
$var_votre_nom = preg_replace( "/\r\n/", "--->", $var_votre_nom );

$var_nom_enfant = preg_replace( "/;/", ".,", $var_nom_enfant );
$var_nom_enfant = preg_replace( "/\r\n/", "--->", $var_nom_enfant );

$var_adresse = preg_replace( "/;/", ".,", $var_adresse );
$var_adresse = preg_replace( "/\r\n/", "--->", $var_adresse );

$var_ville = preg_replace( "/;/", ".,", $var_ville );
$var_ville = preg_replace( "/\r\n/", "--->", $var_ville );

fputs($ouvrir_FD, utf8_decode($var_date).';'.utf8_decode($var_votre_nom).';'.utf8_decode($var_nom_enfant).';'.utf8_decode($var_adresse).';'.utf8_decode($var_ville).';'.utf8_decode($var_province).';'.utf8_decode($var_code_postal).';'."\n");


Alors je l'ai écrit autrement en ajoutant une table :

Code:

$tb_tableau_nettoyage = array();
$tb_tableau_nettoyage[0] = '/;/';
$tb_tableau_nettoyage[1] = '/\r\n/';

$tb_tableau_replacer = array();
$tb_tableau_replacer[0] = '.,';
$tb_tableau_replacer[1] = '--->';

$var_ville = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_ville);
$var_nom = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_nom);
$var_prenom = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_prenom);
$var_pays = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $var_pays);


//ecriture fichier csv
fputs($ouvrir_FD, utf8_decode($var_ville).';'.utf8_decode($var_nom).';'.utf8_decode($var_prenom).';'.utf8_decode($var_pays).';'."\n");


Monde code ci-dessus marche bien, mais il y a toujours trop de répétitions... :o
Alors j'aimerais bien l'optimiser... J'ai fait une fonction :



Code:
function nettoyage($chaine) {

$var_fonction_nettoyage ="";

if (isset($_POST[$var_fonction_nettoyage])) {

{
$tb_tableau_nettoyage = array();
$tb_tableau_nettoyage[0] = '/;/';
$tb_tableau_nettoyage[1] = '/\r\n/';

$tb_tableau_replacer = array();
$tb_tableau_replacer[0] = '.,';
$tb_tableau_replacer[1] = '--->';

$var_fonction_nettoyage = preg_replace($tb_tableau_nettoyage, $tb_tableau_replacer, $_POST[$var_fonction_nettoyage]);

$var_fonction_nettoyage = utf8_decode($var_fonction_nettoyage);

}

return $var_fonction_nettoyage;
}

}
fputs($ouvrir_FD, utf8_decode($var_date).';'.nettoyage($var_votre_nom).';'.nettoyage($var_nom_enfant).';'.nettoyage($var_adresse).';'.nettoyage($var_ville).';'.utf8_decode($var_province).';'.utf8_decode($var_code_postal).';'."\n");


Mais je n’arrive pas… Dans les fichiers CSV; les colonnes (ceux que j’ai appliqué la fonction « nettoyage ») sont vides, sans valeur… :'(
Alors à votre avis, comment je peux alléger mon code? ? Je vais surtout faire cela pour apprendre pas pour la vitesse.

Merci



Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.