IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

BBcode gestion de la taille de caractère [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Par défaut BBcode gestion de la taille de caractère
    Bonjour à vous tous !

    (Avant tout, je voulais vous avertir que je ne connais rien au JS, en regardant les bouts de code, j'arrive à déchiffrer petit à petit, mais c'est tout ! :euh

    Voilà, en mettant en place un système de gestion de taille de caractère dans mon BBcode, je rencontre un soucis :

    Imaginons, j'écris :

    "[size=\5]Test[/size]

    [size=0.75]test[/size]"


    le view devrait me retourner un gros test et un tout petit, mais non, il me renvoit :

    "Test[/size]

    [size=0.75]test"
    Et le tout en très gros !

    Par contre, si je ne met qu'une balise de taille, c'est bien géré, à partir de deux, ca s'en mêle les pinceaux ... Donc je ne comprends pas d'ou peut provenir mon erreur dans la regex qui gère ca !

    Vient ensuite le code :

    Donc j'ai mon texte dans un textarea, deux boutons, un pour envoyer, l'autre pour prévisualiser.

    Voici la gestion des BBcode dans la page view.php qui gère la prévisualisation (je ne colle que la partie ou l'erreur doit être, sinon il y a trop de chose ^^):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    $zcode = array( 
            '#\[\i](.+)\[/i]#siU',
            '#\[\b](.+)\[/b]#siU',
            '#\[\u](.+)\[/u]#siU',
            '#\[\s](.+)\[/s]#siU',
            '#\[align=(left|center|right)](.+)\[/align]#siU',
            '#\[color=(red|blue|grey|yellow|purple|green)](.+)\[/color\]#isU',
            '#\[size=([0-9]{1,2})](.+?)\[/size]#siU', <strong><span style="color:#ff0000;">// l'erreur doit se trouver sur cette ligne</span></strong>
            '#\[\*](.+?)#si',
     
        ); 
     
        $html = array( 
            '<em>$1</em>', 
            '<strong>$1</strong>',
            '<span style="text-decoration:underline;">$1</span>',
            '<span style="text-decoration:line-through;">$1</span>',
            '<div style="text-align:$1; width:100%;">$2</div>',
            '<span style="color:$1">$2</span>',
            '<span style="font-size:$1em;">$2</span>', <span style="color:#ff0000;"><strong>//la ligne de l'erreur continue ici</strong></span>
            '<li>$1',
     
        );
    Pour insérer la balise dans le textarea j'utilise une liste déroulante comme ceci (je viens d'ailleurs de remarquer que le bbcode ne comprend les chiffres à virgules tel que : "2.5" pour mettre avec em, c'est normal ?) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <select onchange="insertTag('[size=' + this.options[this.selectedIndex].value + ']', '[/size]', 'textarea');">
        <option value="none" class="selected" selected="selected" >Taille</option>
        <option value="5">Très très gros</option>
        <option value="2.5">Très Gros</option>
        <option value="1.5">Gros</option>
        <option value="1">Normal</option>
        <option value="0.75">Petit</option>
    </select>
    Voilà ou j'en suis...
    Auriez vous des idées pour me permettre de régler mon soucis ?

    Dans tout les cas, je vous remercie d'avoir lu mon message ! :]


    (Si dans le message, vous voyez des "\" c'est normal, c'est pour faire en sorte que ca ne se transforme pas en bbcode une fois le message créé ! ^^)

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Déjà ton expression dit : [0-9]{1,2}
    Soit un ou deux caractères entre 0 et 9.
    Donc 0.75 ce n'est pas prévu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Par défaut
    Oui !!

    Je corrige ca et met {1,3} alors ! Merci déjà ^^

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    {1,3} ça ne va toujours pas, il y a le point qui n'est pas pris en compte.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Par défaut
    Alors, j'ai rejouté un \. et mis plutot un {1,4}, ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#\[size=([0-9\.]{1,4})](.+?)\[/size]#siU',
    Mais pas de changement dans mon erreur ! (par contre, ca y est, les chiffres à virgules sont bien pris en compte, donc merci beaucoup pour ca !)

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#\[size=(\d?\.?\d{0,2})](.+?)\[/size]#siU'

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [phpMyAdmin] réduire la taille des caractères dans phpMyAdmin
    Par loopback dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 26/02/2007, 14h04
  2. [FPDF] Problème de taille de caractères
    Par Didine_8 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/12/2006, 12h33
  3. Taille des caractères
    Par nellynew dans le forum IHM
    Réponses: 5
    Dernier message: 18/05/2006, 15h21
  4. Gestion des photos - Taille de la base
    Par le géologue dans le forum Access
    Réponses: 4
    Dernier message: 27/09/2005, 18h54
  5. [VBA]taille de caractères
    Par l@rry dans le forum Access
    Réponses: 2
    Dernier message: 12/01/2005, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo