Centre de Formation Flash - Forums Adobe Flash: Xml [double saut de ligne] - Centre de Formation Flash - Forums Adobe Flash

Voir le contenu

Page 1 sur 1
  • Vous ne pouvez pas créer de sujet
  • Vous ne pouvez pas répondre au sujet

Xml [double saut de ligne] 2 saut ligne à chaque retour charriot

#1 Utilisateur non-connecté   hash

  • Ceinture Jaune
  • Groupe : Membres
  • Messages : 23
  • Inscrit : 10-May 06
  • Version logiciel:Flash 8 Pro

Posté 04 June 2006 - 07:57 PM

J'ai un petit problème avec mon xml
Je génère un code xml avec du php, Flash le récupère et le charge dans un zone de texte dynamique de petite taille.
Code

xmlDoc = new XML();

xmlDoc.ignoreWhite = true;

xmlDoc.onLoad = function() {
texte_xml = this.firstChild.childNodes[1].childNodes.toString();
_root.texte.zone_texte.text = texte_xml;
};

Quand je ne fais pas de saut de ligne et que j'écris une longue phrase, tout se passe bien, Flash fait le retour de ligne tout seul.
Mais mon problème, c'est quand moi même je mets des retours chariot, Flash lui met un double saut de ligne.
Le code Xml est tout simple :
Code

<?xml version="1.0" encoding="UTF-8" ?>
<page>
<texte id="1">
Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit lorem ipsum dolor sit ametLorem ipsum dolor sit amet, consectetuer adipiscing elit lorem ipsum dolor sit amet, consectetuer adipiscing elit
</texte>
</page>


Est-ce que mon problème vient de php, dont j'aurais mal encodé les données?
0

#2 Utilisateur non-connecté   stub

  • Habitué
  • Groupe : Membres
  • Messages : 824
  • Inscrit : 03-January 06
  • Location:Suisse
  • Version logiciel:Flash 8

Posté 04 June 2006 - 08:07 PM

Tu as essaie de convertir les saut de ligne pour que flash les comprenne car c'est pas le meme standrd que php unix.

Donc cela se passe bien au niveau du php

Regarde, si tu peux avec un str_replace et un ou deux chr

PS Verifie bien que tu a le utf8-encode aussi

++
0

#3 Utilisateur non-connecté   hash

  • Ceinture Jaune
  • Groupe : Membres
  • Messages : 23
  • Inscrit : 10-May 06
  • Version logiciel:Flash 8 Pro

Posté 04 June 2006 - 08:44 PM

Ok merci, je vais essayer.
Mais c'est vrai que j'ai eu des problèmes avec l'utf-8 et le php.
J'avais essayé le encode_utf8() et decode_utf8(), mais j'ai du les enlever de mon code ça buggé.
Est-ce que ma page php doit être elle même au format UTF-8?
Mais vu que j'enregistre dans une base de données Mysql, je supose que celle-ci aussi doit être au format UTF-8.
0

#4 Utilisateur non-connecté   stub

  • Habitué
  • Groupe : Membres
  • Messages : 824
  • Inscrit : 03-January 06
  • Location:Suisse
  • Version logiciel:Flash 8

Posté 04 June 2006 - 09:00 PM

Normalement meme si la base est en utf8 il faut le mettre
.Il me semble par default, php envoie pas en utf8 bien que sont encodage interne soit souvant en utf8. donc mets le.

Apres c'est certainement un probleme comme je dis si dessus regarde si tu remplace le retour de ligne et retour de chariot , ou l'inverse.

dans le pire des cas poste moi les source simplifée. pas besoin du sql -> tu met le text dans un txt apres je le charge avec php.

++
0

#5 Utilisateur non-connecté   hash

  • Ceinture Jaune
  • Groupe : Membres
  • Messages : 23
  • Inscrit : 10-May 06
  • Version logiciel:Flash 8 Pro

Posté 06 June 2006 - 03:51 PM

Voilà je t'ai fait des sources simplifiés.
Je sais pas si tu veux mes sources php, mais je crois pas que ça vienne de là.
Quoi que on pourrait remplacer un <br /> par un \n.
J'ai mis un fichier xml avec les différents cas icon_wink.gif

Fichier(s) joint(s)

  • Fichier joint  flash.zip (5.93Ko)
    Nombre de téléchargements: 107

0

#6 Utilisateur non-connecté   bigop

  • SpongeMVC
  • Groupe : Habitués
  • Messages : 1621
  • Inscrit : 19-December 02
  • Location:toulouse
  • Compétences: Non communiqué.

Posté 06 June 2006 - 04:04 PM

salut , tu peux regarder ca :

http://proto.layer51.com/d.aspx?f=31
0

#7 Utilisateur non-connecté   symphony_x

  • Ceinture Blanche
  • Groupe : Membres
  • Messages : 2
  • Inscrit : 06-June 06
  • Version logiciel:8

Posté 06 June 2006 - 04:47 PM

Salut.

j'utilise pour le flash la fonction 'utf8_encode' et 'utf8_decode' dans mes scripts php.
Pas la peine de mettre ta base en utf8.
Utilise cette fonction lorsque tu envois tes vriables et les reçois. exemple :

//Envoi de variable vers flash
for ($i = 1; $i <= $nb; $i++) {
$val= mysql_fetch_array($res);
$titre.=utf8_encode($val["titre"]);
}
echo $titre;


//Récupération de vraiable
$toto=utf8_decode($_POST['toto']);
echo $toto;

Il ne faut pas oublier dans le flash d'intégrer dans tes champs dynamiques les différents types de texte (ex : latin etc..) sinon les caractères spéciaux ne vont pas s'afficher (bouton 'intégrer...' sous flash).

j'espère que ça t'aidera.
En ce qui concerne les double retour chariot, j'ai le même problème et je ne sais pas comment le résoudre. J'ai un peu tout essayé mais pour le moment je stagne. C'est vrai qu'à l'affichage ça rend pas terrible.

Si vous avez des suggestions elles sont les bienvenue.

Hésitez pas à me contacter. symphonyx_rv@hotmail.com

0

#8 Utilisateur non-connecté   symphony_x

  • Ceinture Blanche
  • Groupe : Membres
  • Messages : 2
  • Inscrit : 06-June 06
  • Version logiciel:8

Posté 06 June 2006 - 05:52 PM

je viens de trouver pour les retour chariots intempestifs sous flash.
Dans le script php quand on envoi sa variable il suffit de mettre :

str_replace("\n","",$maVariable)
$maVariable étant la variable à envoyer.

pour reprendre mon exemple du précédent post:

for ($i = 1; $i <= $nb; $i++) {
$val= mysql_fetch_array($res);
$titre.=utf8_encode(str_replace("\n","",$texte));
}
echo $titre;

Pour ma part ça fonctionne très bien.

J'espère que ça fonctionnera pour vous.

0

#9 Utilisateur non-connecté   hash

  • Ceinture Jaune
  • Groupe : Membres
  • Messages : 23
  • Inscrit : 10-May 06
  • Version logiciel:Flash 8 Pro

Posté 06 June 2006 - 10:16 PM

Merci beaucoup de toute cette aide gourou.gif
Je vais tester et je vous dirais si ça marche.
0

#10 Utilisateur non-connecté   stub

  • Habitué
  • Groupe : Membres
  • Messages : 824
  • Inscrit : 03-January 06
  • Location:Suisse
  • Version logiciel:Flash 8

Posté 07 June 2006 - 05:01 AM

La fonction pour supprimer les espaces blanc est tres bien.

Ce qui interessant noter : C'est que \r et \n sous flash represente la meme entité soit une nouvelle ligne. interessant de noter qu'en php et unix \r et \n ne signifie pas la meme chose. symphony_x icon_wink.gif

++
0

#11 Utilisateur non-connecté   JimmyZ

  • Ceinture Blanche
  • Groupe : Membres
  • Messages : 1
  • Inscrit : 18-March 04

Posté 06 December 2007 - 05:54 PM

merci smile.gif
0

#12 Utilisateur non-connecté   jcg

  • Ceinture Blanche
  • Groupe : Membres
  • Messages : 2
  • Inscrit : 05-November 08

Posté 29 January 2009 - 11:48 AM

Salut,

Personnellement j'utilise une astuce côté Flash et qui fonctionne bien :

Action Script

function searchAndReplace(holder, searchfor, replacement)
{
temparray = holder.split(searchfor);
holder = temparray.join(replacement);
return (holder);
}

mon_texte = searchAndReplace(mon_texte, "\n", "");

Cela enlève donc un saut de ligne sur deux.
Pas de code dans le php.
0

#13 Utilisateur non-connecté   jcg

  • Ceinture Blanche
  • Groupe : Membres
  • Messages : 2
  • Inscrit : 05-November 08

Posté 29 January 2009 - 11:57 AM

(on peut pas éditer ses propres messages ??)

PS : mieux vaut enlever le "\r" que le "\n" !
Sinon ça peut poser pb suivant la plate-forme d'hébergement.

Donc :

Action Script

mon_texte = searchAndReplace(mon_texte, "\r", "");

0

Page 1 sur 1
  • Vous ne pouvez pas créer de sujet
  • Vous ne pouvez pas répondre au sujet

1 utilisateur(s) dans ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)