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 :

Problème de mise en chaîne d'un textarea


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut Problème de mise en chaîne d'un textarea
    salut à tous
    j'ai un petit soucis pour mettre en chaine le contenu d'un textarea.


    je m'explique:
    - j'ai une chaine du genre $string1="une chaine longue<br />qui passe à la ligne<br />etc...etc..." issue d'un textarea et enregistrer par echo dans un champs cacher d'un autre formulaire.

    mon but est de modifier cette chaine pour avoir ceci:
    - "une+chaine+longue***qui+passe+à+la+ligne***etc...etc..."

    j'ai donc fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // ma chaine de depart 
    $string1 = "une chaine longue<br />qui passe à la ligne<br />etc...etc..."; 
    
    // je remplace tout les <br /> par *** 
    $string2 = str_replace('<br />', '***', $string1); 
    
    // je remplace ensuite touts les espaces par des + 
    $string3 = str_replace(' ', '+', $string2); 
    
    // ici on affiche le resultat 
    echo $string3;
    le problème est que cela m'affiche une+chaine+longue*** qui+passe+à+la+ligne*** etc...etc..., et je n'arrive pas à faire en sorte qu'il n'y ai pas d'espace après ***

    c'est donc sur $string2 qu'il y à un soucis et en plus l'espace laisser par erreur n'est pas remplacer par un + quand je definit $string3

    j'ai aussi essayer de passer par la fonction strtr() comme suit mais j'ai le même problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
    // enregistrement de $message par post depuis un textarea d'un autre formulaire vers le champ cacher suivant 
    ?> 
    <input type="hidden" name="sms" value="<?php echo $message ?>" /> 
    <?php 
    $sms = nl2br($POST_['sms']); 
    $tableau = array("<br />" => "***", " " => "+"); 
    $message_final = strtr($message, $tableau);
    pourquoi il perciste un espace après chaque *** remplacer
    pourtant, strtr() ne tient pas compte de la difference de longueur des deux arguments...

    si quelqu'un peut m'aider

    merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut
    ok, j'ai fini par trouver

    merci quand même

  3. #3
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    tu peux mettre la solution, ça servira surement à quelqu'un d'autre (à commencer par moi ).

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 93
    Points
    93
    Par défaut
    voici donc la soluce:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <textarea name="textarea"></textarea>
    <?
    // on recupere le contenu du textarea
    $contenu_textarea = $POST_['textarea'];
    // on fait un tableau associatif avec chaque caractère à remplacer et leur remplacement
    $tableau = array("\r\n" => "***", "\n" => "***", " " => "+");
    // ensuite on remplace
    $chaine_final = strtr($message, $tableau);
    ?>
    voila
    mon but etait ici de remplacer les saut de ligne par *** et le espace par +.

    @+

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

Discussions similaires

  1. Problème de mise à jour du contenu d'un TextArea
    Par Desperados43 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 15/01/2011, 17h23
  2. Problème d'affichage de chaîne
    Par duplo dans le forum Assembleur
    Réponses: 5
    Dernier message: 06/11/2004, 16h01
  3. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 12h38
  4. problème de mise a jour
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 15/04/2004, 17h09
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 16h32

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