Parser du BBCode dans un mail

Suivre ce topic
Ce topic est suivi par : Personne...
Ce topic a été résolu
Balatharas

Balatharas Le 18 juin 2016 à 18:26 (Édité le 25 janvier 2019 à 17:51)

Salut je voudrais savoir comment parser du BBCode mais dans un mail. En gros j'ai une newsletter et un éditeur WYSIWYG et quand j'envoie la newsletter avec du BBCode comme le gras eh bien ca me l'affiche en brut..
Ranarxhag

Ranarxhag Le 18 juin 2016 à 20:25

Passe ton code, ce sera plus facile 😀
Balatharas

Balatharas Le 20 juin 2016 à 19:01

Hello @Ranarxhag !
Mon code:
Traitement de l'envoi de la newsletter (avec un select dans ma bdd pour l'envoyer aux inscrits)
if(isset($_POST['newsletterSend']))
{
   $selectmail = $bdd->prepare('SELECT mail FROM newsletter');
   $selectmail->execute();
      
   $newsletterMessage = nl2br($_POST['newsletterMessage']);
   // Envoi de l'email
   $header="MIME-Version: 1.0\r\n";
   $header.='From:"MOI"<support@moi.xyz>'."\n";
   $header.='Content-Type:text/html; charset="utf-8"'."\n";
   $header.='Content-Transfet-Encoding: 8bit'; 
   while($affichmail = $selectmail->fetch())
   {
     mail($affichmail['mail'], "Newsletter", $newsletterMessage, $header); 
   }
}

Code de l'inscription a la news:
if(isset($_POST['submitnewsletter']))
{   
   if(filter_var($_POST['newslettermail'], FILTER_VALIDATE_EMAIL))
   {      
      $insertmail = $bdd->prepare('INSERT INTO newsletter(mail) VALUES(?)');
      $insertmail->execute(array($_POST['newslettermail']));
      $success = "Merci de vous être inscrit à la newsletter !";
   }
   else
   {
      $erreur = "Le format de l'adresse e-mail est invalide !";
   }
}
Merci 😄
Profil introuvable

Profil introuvable Le 20 juin 2016 à 19:24

Hello 'Beignet' 😉,

Jette un coup d’œil sur ces liens :
http://php.developpez.com/faq/?page=expressions_regulieres#expressions_regulieres_parsebbcode[url=https://gist.github.com/neo22s/2584465]
https://gist.github.com/neo22s/2584465[/url][url=http://www.supportduweb.com/scripts_tutoriaux-code-source-39-parser-du-bbcode-en-x-html-convertir-du-bbcode-en-html-convertir-du-html-en-bbcode-en-utilisant-les-expressions-reguliaires-regex.html]
http://www.supportduweb.com/scripts_tutoriaux-code-source-39-parser-du-bbcode-en-x-html-convertir-du-bbcode-en-html-convertir-du-html-en-bbcode-en-utilisant-les-expressions-reguliaires-regex.html[/url]
http://digitcodes.com/create-simple-php-bbcode-parser-function/
https://openclassrooms.com/forum/sujet/parser-du-bbcode-fontsize?page=1

Est-ce que cela correspond à ta demande ?
Balatharas

Balatharas Le 20 juin 2016 à 19:44

@Jrem971 Euh non, pas vraiment... 😦
Profil introuvable

Profil introuvable Le 20 juin 2016 à 19:52

Re :

Désolé pour ce bug d'affichage de liens, cela doit être un bug sur le forum... 😠
Je te tiens au courant si je trouve ce que tu demande 😉
Balatharas

Balatharas Le 20 juin 2016 à 20:01

@Jerem971 Okai 😄
Balatharas

Balatharas Le 21 juin 2016 à 18:53

@Ranarxhag Avais-tu une solution ;( ?
Balatharas

Balatharas Le 23 juin 2016 à 22:14

@Ranarxhag et @Jerem971
J'ai trouvé la solution:
if(isset($_POST['newsletterSend']))
{
   $selectmail = $bdd->prepare('SELECT mail FROM newsletter');
   $selectmail->execute();
      
   $newsletterMessage = nl2br($_POST['newsletterMessage']);

   //Parser
   $parser = new JBBCode\Parser();
   $parser->addCodeDefinitionSet(new JBBCode\DefaultCodeDefinitionSet());
   $bbparser = $parser->parse($newsletterMessage);
   $bbparser = $parser->getAsHtml();

   // Envoi de l'email
   $header="MIME-Version: 1.0\r\n";
   $header.='From:"MrLeBeignet"<support@unbeignetsauvage.xyz>'."\n";
   $header.='Content-Type:text/html; charset="utf-8"'."\n";
   $header.='Content-Transfet-Encoding: 8bit'; 
   while($affichmail = $selectmail->fetch())
   {
     mail($affichmail['mail'], "Newsletter de MrBeignet !", $bbparser, $header); 
   }
   $success = "La newsletter a bien été envoyée !";
}
C'était tout simple enfait ^^ merci d'avoir tenté de m'aider 😄
Profil introuvable

Profil introuvable Le 24 juin 2016 à 03:35

Super ! 😉 Tu peux mettre le topic en "Résolu" 😉

Bonne continuation 😉
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte