aspkiddy
Membre récent

Hors-Ligne
Messages: 17

|
Bonjour,
J’ai un bout de code (qui marche sans problème) mais j’aimerais bien alléger en réécrivant…
// 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 :
$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...  Alors j'aimerais bien l'optimiser... J'ai fait une fonction :
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
|