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

GTK+ Discussion :

[ruby] set_markup esperluette


Sujet :

GTK+

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Par défaut [ruby] set_markup esperluette
    J'utilise la méthode set_markup pour mettre en gras une chaîne de caracères.
    Code ruby : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stitle=Gtk::Label.new()
    stitle.set_markup("<b>#{name}</b>")

    Malheureusement, name contient parfois le caractère &. Dans ce cas j'obtient:
    Gtk-WARNING **:Failed to set text from markup due to error parsing markup: Erreur à la ligne 1 : Le caractère « » n'est pas valide au début d'un nom d'entité ; le caractère & commence une entité ; si l'esperluette n'est pas supposée être une entité, échappez-le comme &amp;
    Existe-il un moyen simple de n'utiliser aucun caractère comme début d'entité?
    documentation sur la méthode set_markup

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut
    Comme toi, j'avais le même problème, mais avec les caractères '<', '>'.

    Pour y remédier, il faut mettre les codes spéciaux HTML pour ces caractères
    & => &amp;
    < => &lt;
    > => &gt;

    il y en a d'autres, mais je pense que tu sauras trouver le reste

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Par défaut
    J'utilise String#gsub pour remplacer le caractère & mais je recherche plutôt une méthode qui tiendrait compte de toutes les caractéristiques du HTML afin d'échapper tous les caractères spéciaux.

    Merci quand même pour cette réponse (tardive !).

  4. #4
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    Un truc qui marche à tous les coups : mettre le texte avec set_text (au lieu de set_markup), puis définir la mise en forme dans un attribut pango :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    # code python
     
    monlabel = gtk.Label()
    monlabel.set_text("blabla")
     
    mesattributs = pango.AttrList()
    mesattributs.insert(pango.AttrWeight(pango.WEIGHT_BOLD, 0, -1))
     
    monlabel.set_attributes(mesattributs)

    L'exemple est en Python, mais ça doit pas être très différent en Ruby


    -

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Par défaut
    Merci monnomamoi pour cette solution.

    Je n'ai pas le temps de tester et d'implémenter cette solution en ce moment mais je regarderai tout çà.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2007
    Messages : 552
    Par défaut
    J'ai finalement tester la solution traduite en ruby.

    Merci encore monnomamoi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    l=Gtk::Label.new
    l.text="toto&"
    l.attributes=Pango::AttrList.new.insert(Pango::AttrWeight.new(Pango::WEIGHT_BOLD))

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

Discussions similaires

  1. [AJAX] Portage de Ruby vers PHP
    Par GTJuanpablo dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 01/02/2008, 10h15
  2. yarv machine virtuel de ruby
    Par gandalf72 dans le forum Ruby
    Réponses: 2
    Dernier message: 14/07/2006, 22h47
  3. Réponses: 2
    Dernier message: 06/06/2006, 10h31
  4. [XHTML] module RUBY, comment l'intégrer?
    Par mikotte dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/12/2005, 12h10
  5. [Apache] compiler le module pour Ruby mod_ruby.so ?
    Par Mescalito dans le forum Apache
    Réponses: 1
    Dernier message: 02/11/2005, 18h28

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