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

JavaScript Discussion :

Définir le nombre de caractère d'un texte


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut Définir le nombre de caractère d'un texte
    Bonjour,
    J'ai une page avec des div qui s'adapte à la résolution de l'écran en javascript et css. Je souhaite que mon texte s'adapte à la taille de la div.
    J'ai trouvé plein de scripts en php pour délimiter le nombre de caractère d'un texte, mais je trouve rien en javascript. Je suis obligé d'utiliser ce langage car j'ai besoin de la taille de l'écran... Est-ce que c'est possible ?
    Merci d'avance !!!

  2. #2
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Utilise la fonction substr, tu lui précises l'indice de début et le nombre de caractères..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var chaine='des fois faut chercher sur Google';
    var new_chaine=chaine.substr(0,22);
    document.write(new_chaine); // écrit : des fois faut chercher

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut
    Merci pour la réponse. Est-ce qu'il y a un moyen pour ne pas couper le dernier mot ? Merci

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut
    J'ai essayer la fonction fautcherchersurleweb() mais je trouve pas.
    Pourtant c'est ce que j'ai l'habitude de faire...
    Avez§vous une idée ?

  5. #5
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    text = text.replace(new RegExp('^(.{1,'+(max)+'})\\\s.*'),function(a) {
           if(a.slice(0,max).substr(-1) == " ")
               return (text.slice(0,max-1))
        return text.slice(0,a.substr(max).indexOf(" ")+max);
    });
    Pas forcément optimisé, mais ça fonctionne

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    De mémoire j'ai du coller un truc dans les contributions il y a au moins 5 ans, fais une recherche avec "taille texte" ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut
    Merci , je vais essayer !

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Tiens j'ai retrouvé ça , ce n'est pas directement en rapport avec ton problème mais ça peut aider :
    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
    24
    25
    26
    27
    28
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
     
    <title>TextWidth</title>
    <script type='text/javascript'>
    function init(){
    String.prototype.textWidth=function(police,taille){
    		var container=document.createElement('div');
    		container.style.visibility='hidden';
    		container.style.fontFamily=police
    		container.style.fontSize=taille+'px'
    		container.id="magicdiv";
    		container.style.display='inline';
    		document.body.appendChild(container);
    		document.getElementById('magicdiv').innerHTML=this;
    		var longueur = document.getElementById('magicdiv').offsetWidth;
    		document.getElementById('magicdiv').parentNode.removeChild(document.getElementById('magicdiv'))
    		return longueur + ' px'
    		}
    var tt='ldfsezrargdfgtretert'		
    alert(tt.textWidth('courrier',12))
    }
    </script>
    </head>
    <body onload='init()'>
    </body>
    </html>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut
    Citation Envoyé par Shinuza Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    text = text.replace(new RegExp('^(.{1,'+(max)+'})\\\s.*'),function(a) {
           if(a.slice(0,max).substr(-1) == " ")
               return (text.slice(0,max-1))
        return text.slice(0,a.substr(max).indexOf(" ")+max);
    });
    Pas forcément optimisé, mais ça fonctionne
    Je souhaite réutiliser ce code. Mais ca beug dès que j'ai des caractères un peu sépciaux... du genre !?,'
    Est-ce que vous aurriez une idée ?
    Merci encore !

  10. #10
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var max = 25;
    var text = "Je ne sais pas! Voyez, il vole!"
     
    text = text.replace(new RegExp('^(.{1,'+(max)+'})\\\s.*'),function(a) {
           if(a.slice(0,max).substr(-1) == " ")
               return (text.slice(0,max-1))
        return text.slice(0,a.substr(max).indexOf(" ")+max);
    });
    "Je ne sais pas! Voyez, il"
    Ca fonctionne

  11. #11
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Par défaut
    Merci, mais ca marchait toujours pas. Je l'ai fait en ajax, ca m'a permis d'utiliser un langage que he connais..le PHP !
    Merci quand même !

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

Discussions similaires

  1. Définir le nombre de caractères d'un DGW pour imprimer
    Par furax51 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/01/2012, 16h27
  2. [SQL] Nombre de caractères d'une chaine de texte
    Par at_first dans le forum Access
    Réponses: 3
    Dernier message: 13/02/2007, 13h12
  3. Réponses: 2
    Dernier message: 05/11/2006, 22h13
  4. Définir le nombre de caractères max d'un JTextField
    Par mitje dans le forum Composants
    Réponses: 4
    Dernier message: 20/01/2006, 16h48

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