BBCode saut de lignes

Ce topic a été résolu
Foxxen

Foxxen Le 1 avril 2016 à 19:11 (Édité le 25 janvier 2019 à 17:50)

Bonjour j'aimerai savoir si quelqu'un sait comment @PrimFX à fait le saut de ligne sur cet éditeur, car quand moi je saute une ligne sur le mien, il est bien stocker dans ma bdd, mais il n'est pas reproduit à l'affichage. J'utilise le même système c'est-à-dire JBBCode et Wysibb.

Voila merci de votre aide
PrimFX

PrimFX Le 1 avril 2016 à 22:17 (Édité le 1 avril 2016 à 22:18)

Salut !

Bizarre que tu rencontres ce bug... Essaie peut-être de faire un nl2br() de ton contenu avant l'insertion dans ta bdd 😉

<?php

$contenu = "ton texte...";
// $contenu = ... (Traitement du contenu: htmlspecialchars(), encodage, etc.)

$contenu = nl2br($contenu); // Te permet de conserver/rajouter des sauts de ligne

?>
Dis-moi si ça marche !

@+
Foxxen

Foxxen Le 2 avril 2016 à 13:52

Ah... Merci, marche très bien merci de ton aide, continu comme sa !

@+
Foxxen

Foxxen Le 2 avril 2016 à 14:04

Ah, bah maintenant le problème c'est que les <br> s'affiche dans l'éditeur et donc du coup quand je met à jour ma bdd, bah les balises reste des balises

Sur ma page :



Sur mon éditeur :



Voila
PrimFX

PrimFX Le 2 avril 2016 à 14:51

Ah ouais je vois x) Tu peux m'envoyer le code avec lequel tu traites ton code avant de l'insérer dans la bdd et celui avec lequel tu l'affiches ? 😉
Foxxen

Foxxen Le 2 avril 2016 à 17:29

Ma partie de traitement (yep j'utilise sa pour les CGU, la flème de les modifier dans le fichier 😄)
if(isset($_POST['cgu']) AND !empty($_POST['cgu'])){

  $contenu = htmlspecialchars($_POST['cgu']);
  $contenu = utf8_encode($contenu);
  $contenu = str_replace('','',$contenu);
  $contenu = utf8_decode($contenu);
  $contenubr = nl2br($contenu);
  $req3 = $bdd->prepare('UPDATE general SET cgu = ?');
  $req3->execute(array($contenubr));
  header('Location: index.php');

}
Et l'affichage

$topic = $bdd->query('SELECT cgu FROM general');
    $topic = $topic->fetch();
    $parser->parse($topic->cgu);
    echo $parser->getAsHtml();
Avec toute les configuration du JBBCode dans les autres fichiers, tout bien installer (ou pas sinon sa bugerai pas).

voila
PrimFX

PrimFX Le 2 avril 2016 à 19:17

Effectivement, j'ai fait quelques tests et ce n'était pas logique de ma part de te dire de mettre le nl2br() à l'insertion dans la bdd 😰

Du coup, je te laisse essayer en mettant le nl2br() au niveau de l'affichage du texte (ou plutôt au niveau du parsage) ;)

Exemple:
La partie où tu as ça...
$topic = $topic->fetch();
$parser->parse($topic->cgu);
echo $parser->getAsHtml();
... devient ça:
$topic = $topic->fetch();
$parser->parse(nl2br($topic->cgu));
echo $parser->getAsHtml();
Normalement ça devrait fonctionner nickel 😄
Foxxen

Foxxen Le 2 avril 2016 à 19:29

Ouai, j'ai pas trop compris non plus pourquoi il aurait fallu mettre le nl2br à l'update de la bdd, mais bon je test et je te redit sa
Foxxen

Foxxen Le 2 avril 2016 à 19:33

Ok, ça marche nickel cette fois-ci, merci pour ton aide !

@+ 😄
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte