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

Ruby on Rails Discussion :

Parser des smileys


Sujet :

Ruby on Rails

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Parser des smileys
    Bonjour

    Je suis en train de développer un petit blog, et je cherche à implémenter un parseur de smileys.

    J'ai déjà une petite piste, mais sans plus, et je bloque.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    # app/views/article/index.rhtml
    <% for article in @articles %>
    <%= truncate(article.contain, 2000).gsub(/\:\-\)|\:\)/mi,'<img src="/images/smilies/smile.png"/>') rescue nil %>
    <% end %>
    donc le smiley est bien affiché, mais le problème, mettre ça dans la vue, c'est sale, et il y en a plusieurs.

    Quelqu'un aurait une idée ?

    Cordialement.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Pourquoi tu te ne fais pas un helper qui prend en param le texte original avec les smileys et qui te renvoie une version modifiee remplacee par des images ?

    En plus ca permet d'utiliser les smileys facilement a plusieurs endroits, pour les billets et les commentaires par exemple.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    oui alors pour l'helper pas de problèmes, mais j'arrive pas du tout à implémenter le truc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    # app/helper/application_helper.rb
      def smilies(type)
          type.contain.gsub!(/\:\-\)|\:\)/mi,'<img src="/images/smilies/smile.png"/>')
          type.contain.gsub!(/\:\-\(|\:\(/mi,'<img src="/images/smilies/sad.png"/>')
          type.contain.gsub!(/\:\-D|\:D/mi,'<img src="/images/smilies/big_smile.png"/>')
      end
    dans ma vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%= smilies(article) %>
    donc là le résultat est que si aucun smiley n'est présent dans l'article, celui-ci ne sera pas affiché

    J'ai essayer plein de façon, mais rien n'a abouti

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Bon, finalement j'ai trouver, c'est peut être pas la meilleure solution, mais ça marche

    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
     
      def smilies(type)
          type.contain.gsub!(/\:\-\)|\:\)/mi,'<img src="/images/smilies/smile.png"/>')
          type.contain.gsub!(/\:\-\(|\:\(/mi,'<img src="/images/smilies/sad.png"/>')
          type.contain.gsub!(/\:\-D|\:D/mi,'<img src="/images/smilies/big_smile.png"/>')
          type.contain.gsub!(/\:lol:/mi,'<img src="/images/smilies/lol.png"/>')
          type.contain.gsub!(/\:roll:/mi,'<img src="/images/smilies/roll.png" />')
          type.contain.gsub!(/\:neutral:/mi,'<img src="/images/smilies/neutral.png"/>')
          type.contain.gsub!(/\:hmm:/mi,'<img src="/images/smilies/hmm.png"/>')
          type.contain.gsub!(/\:mad:/mi,'<img src="/images/smilies/mad.png"/>')
          type.contain.gsub!(/\;\-\)|\;\)/mi,'<img src="/images/smilies/wink.png"/>')
          type.contain.gsub!(/\:\-\p|\:\p/mi,'<img src="/images/smilies/tongue.png" />')
          type.contain.gsub!(/\:yikes:/mi,'<img src="/images/smilies/yikes.png"/>')
          type.contain.gsub!(/\:cool:/mi,'<img src="/images/smilies/cool.png"/>')
     
          # s'il n'y a pas de smileys, on affiche le contenu non parsé.
          type.contain
      end

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    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
     
    def smilies(type)
          type.contain.gsub!(/\:\-\)|\:\)/mi,'<img src="/images/smilies/smile.png"/>')
          type.contain.gsub!(/\:\-\(|\:\(/mi,'<img src="/images/smilies/sad.png"/>')
          type.contain.gsub!(/\:\-D|\:D/mi,'<img src="/images/smilies/big_smile.png"/>')
          type.contain.gsub!(/\:lol:/mi,'<img src="/images/smilies/lol.png"/>')
          type.contain.gsub!(/\:roll:/mi,'<img src="/images/smilies/roll.png" />')
          type.contain.gsub!(/\:neutral:/mi,'<img src="/images/smilies/neutral.png"/>')
          type.contain.gsub!(/\:hmm:/mi,'<img src="/images/smilies/hmm.png"/>')
          type.contain.gsub!(/\:mad:/mi,'<img src="/images/smilies/mad.png"/>')
          type.contain.gsub!(/\;\-\)|\;\)/mi,'<img src="/images/smilies/wink.png"/>')
          type.contain.gsub!(/\:\-\p|\:\p/mi,'<img src="/images/smilies/tongue.png" />')
          type.contain.gsub!(/\:yikes:/mi,'<img src="/images/smilies/yikes.png"/>')
          type.contain.gsub!(/\:cool:/mi,'<img src="/images/smilies/cool.png"/>')
     
          # s'il n'y a pas de smileys, on affiche le contenu non parsé.
          type.contain
      end
    tu le mets entre module ApplicationHelper et end ou c'est une méthode qui ne doit pas etre dans ce module ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Si tu la met dans ApplicationHelper, la méthode sera disponible dans toutes tes vues, de toute ton application, à toi de voir si t'en aura besoin plusieurs fois ou dans un seul controller ( et dans ce cas c'est sans doutes mieux de la mettre dans l'Helper dudit controller ).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    merci pour l'information =)

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    désoler du temps de réponse... :p

    oui il est bien dans ApplicationHelper pour la simple et bonne raison, je l'utilise dans plusieurs controllers. (d'où le smilies(type), dont type est la table (articles, commentaires, etc...)

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

Discussions similaires

  1. Serait il possible de parser des ficheirs xml avec c++ ,
    Par jlassira dans le forum Bibliothèques
    Réponses: 11
    Dernier message: 04/01/2006, 12h58
  2. au niveau des smileys ...
    Par ETI-trian dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/10/2005, 22h47
  3. Réponses: 2
    Dernier message: 04/08/2005, 21h37
  4. parser des fichier .xml en perl
    Par djibril dans le forum Modules
    Réponses: 13
    Dernier message: 18/05/2004, 17h08

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