PhpMyNewsLetter 2.0

Support et annonces PhpMyNewsLetter.

Vous n'êtes pas identifié(e).

Annonce

Pour me permettre de mieux vous aider au mieux, merci d'être le plus précis possible en donnant :
- la version de phpmynewsletter utilisée
- votre hébergement : personnel, dédié, mutualisé
- votre hébergeur (OVH, free, Infomaniak, 1and1,...)
- votre OS : linux, windows
- version de PHP (5.3, 5.6, 7.0, hhvm...)
Toutes les réponses à mes questions qui sont sans retour de votre part seront considérées comme résolues !

#1 08-02-2015 00:09:36

phpSources
Membre

[Résolu] Extracteur d'adresse email

Bonjour,

Voici mon premier script sur phpMyNewsletter
C'est comme son nom l'indique un extracteur d'adresse email dans un texte
Ca retrouve n'importe quel adresse mail dans un texte, pratique non ?
j'ai ajouté une option au cas ou l'on veut dédoublonné une liste

1423350908_clean_liste.jpg

le fichier s'appel
include/clean_liste.php

<article class="module width_full">
    <header><h3>clean liste</h3></header>
    <?php

        switch($data){

            case 'form':
                   echo '<div class="module_content">';
                   echo '<h2>Extracteur d\'adresses Emails dans un texte</h2>';
                   echo '<form action="index.php?page=clean_liste&token='.$token.'&list_id='.$list_id.'&data=visu" method="POST" name="form1">
                         <input type="hidden" name="poster" value="1">
                         <br />
                         <input type="checkbox" name="dedoublonne"   />&nbsp; D&eacute;doublonne<br />
                         <textarea  rows="15"  cols="72" name="texte"> </textarea>
                         <br /><br />
                         <div align="center"><input type="submit" name="Submit" value=" Extraire les adresses emails "></div>
                         </form>';
            break;
            
            default:
            case 'visu':

            $texte = (!empty($_POST['texte']) ? $_POST['texte'] : false);
            $dedoublonne = (!empty($_POST['dedoublonne']) ? $_POST['dedoublonne'] : '');

                  echo '<div class="module_content">';
                  echo '<h2>Extracteur d\'adresses Emails dans un texte</h2>';
                  echo '<form action="index.php?page=clean_liste&token='.$token.'&list_id='.$list_id.'&data=visu" method="POST" name="form1">
                        <input type="hidden" name="poster" value="1">
                        <br />
                        <input type="checkbox" value="1" name="dedoublonne"'; if (!empty( $dedoublonne)) echo 'checked'; echo' />&nbsp; D&eacute;doublonne<br />
                        <textarea  rows="15"  cols="72" name="texte">'.$texte.' </textarea>
                        <br /><br />
                        <div align="center"><input type="submit" name="Submit" value=" Extraire les adresses emails "></div>
                        </form>';



            $texte = StripSlashes($texte);
            preg_match_all("/[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})+/",$texte,$matches,PREG_SET_ORDER);
            $tab_email = array();
            // place les data email dans un tableau
            foreach ( $matches as $value_matches)
                    { $tab_email[] = $value_matches[0]; }
            // ddoublonne le tableau
            $tab_email_unique = array_unique($tab_email);
            // la taille des tableaux
            $taille_tab_email_unique = sizeof ($tab_email_unique);
            $taille_tab_email = sizeof ($tab_email);

            echo '<br /><strong>Total : ';
            if (isset($dedoublonne) and !empty($dedoublonne))
            echo $taille_tab_email_unique;
            else
            echo $taille_tab_email;

            echo '<strong><br /><br />';
            if (isset($dedoublonne) and !empty($dedoublonne)) {
            foreach ( $tab_email_unique as $value_tab_email_unique)
                     { echo $value_tab_email_unique."<br />\n";  }
           } else {
           foreach ( $tab_email as $value_tab_email)
                     { echo $value_tab_email."<br />\n"; }
         }

        break;
            
       }

    ?>
    <div class="spacer"></div>
    <div class="clear"></div>
</article>

sur l'index.php il faut le hooker
Ajouter le lien

<ul class="toggle">
            <li class="icn_track"><a href="?page=clean_liste&token=<?=$token;?>&list_id=<?=$list_id;?>&data=form">Cleaner une liste</a></li>
        </ul>

Le call

                case "clean_liste":
                require("include/clean_liste.php");
                break;

Et faut peut-etre l'ajouter dans le JS, ca je suis pas sur, de mon coté je l'ai fait

$sticky_pages=array('undisturbed','config','compose','listes','newsletterconf','manager_mailq','clean_liste');

J'espère qu'il sera dans la prochaine version de PhpMyNewsletter, je trouve que c'est un outil très pratique lorsque l'on manie de la mailing liste smile

Dernière modification par phpSources (08-02-2015 00:18:38)

Hors ligne

#2 10-02-2015 19:41:01

Arnaud
Administrateur

Re : [Résolu] Extracteur d'adresse email

Re-

Alors... Très intéressant, mais questions et remarques :
- De quel texte extrait on ces mails ?
- il y a un test sur les doublons dans les imports de liste et dans les ajouts de mail via opt-in, donc pourquoi refaire un contrôle des doublons ?
- Attention : les forms, c'est bien de les nommer de manière unique dans le script global, exemple : nom1, c'est pas...Enfin, tu vois ce que je veux dire  big_smile
- Remarque super importante : toutes les pages sont normalement encodées en utf-8. Je ne code pas les é, è etc en D& eacute; etc... Merci.

Sinon, je crois que c'est vraiment utile, oui c'est clair, mais devrait plutôt se rapprocher d'un process d'import global de mails dans un texte, dans une liste qui serait en fait une extraction d'une base ou autre pour enrichir une liste déjà existante... Autrement dit, quelque soit le modèle des données importées, l'import se fait quand même, et cela rejoint le post : http://www.phpmynewsletter.com/forum/vi … php?id=115


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#3 11-02-2015 06:54:35

phpSources
Membre

Re : [Résolu] Extracteur d'adresse email

- De quel texte extrait on ces mails ?

N'importe quel texte, faut avoir l'utilité de l'outil bien sur

- il y a un test sur les doublons dans les imports de liste et dans les ajouts de mail via opt-in, donc pourquoi refaire un contrôle des doublons ?

Un utilisateur peut se servir de l'outil et savoir immédiatement combien de doublons contenait sa liste.

Cet extracteur n'est qu'un outil a ranger dans la "boite à outils", rien d'indispensable mais peut-être utile a certaines occasions.

Hors ligne

#4 11-02-2015 09:15:52

Arnaud
Administrateur

Re : [Résolu] Extracteur d'adresse email

Donc complètement indispensable !


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#5 21-03-2015 17:26:15

Arnaud
Administrateur

Re : [Résolu] Extracteur d'adresse email

Voilà, je le mets dans la 2.0.4


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#6 21-03-2015 17:28:09

Arnaud
Administrateur

Re : [Résolu] Extracteur d'adresse email

Juste à faire : ajouter un bouton après le résultat pour permettre l'import de la liste "cleanée" !


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#7 13-09-2015 20:38:44

Arnaud
Administrateur

Re : [Résolu] Extracteur d'adresse email

Bonjour,
juste un mot pour dire que le script est intégré dans la version 2.0.4, le dédoublonneur fonctionne par upload d'un fichier, avec intégration dans la liste choisie en amont.


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

Pied de page des forums

Propulsé par FluxBB