Récupération d'un JS dasn flash

Résolu
Signaler
Messages postés
105
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
11 décembre 2006
-
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007
-
Je pensais m'en sortir simplement mais avec mes faibles connaissance en AS, je séche !

Je récupère d'un script php (http://www.citation.fr/citation.php) le code suivant :

document.write("<span id='citation'>La langue évolue par l'introduction de mots nouveaux. Une langue faite uniquement de mots nouveaux serait cependant incompréhensible.<br>Gombrich, E. H.</span><span style='font-size:10px'> &nbsp; &copy; <a href='http://www.citation.fr'>citation.fr</a></span>");

Je le récupère comme ça : txt.load("http://www.citation.fr/citation.php");

Par contre si je fais un trace(txt), j'obtiens ça :

copy%3B%20%3Ca%20href=%27http%3A%2F%2Fwww%2Ecitation%2Efr%27%3Ecitation%2Efr%3C%2Fa%
3E%3C%2Fspan%3E%22%29%3B%0A&nbsp%3B%20=&document%2Ewrite%28%22%3Cspan%20id=%27
citation%27%3ELa%20langue%20%EF%BF%BDlue%20par%20l%27introduction%20de%20mots%20nouveaux
%2E%20Une%20langue%20faite%20uniquement%20de%20mots%20nouveaux%20serait%20cependant%20
incompr%EF%BF%BDnsible%2E%3Cbr%3EGombrich%2C%20E%2E%20H%2E%3C%2Fspan%3E%3C
span%20style%3D%27font%2Dsize%3A10px%27%3E%20&onLoad=%5Btype%20Function%5D

D'abord, quelqu'un sait-il pourquoi un tel encodage (problème UTF 8 ?) ???
Ensuite si il est possible de récupère cette chaîne correctement, je ne sais pas comment extraire le texte sans le code JS ... Ou quel mot clé taper sur le forum pour trouver au moins un début de solution !!!

Merci d'avance, à +

7 réponses

Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

A oui, c'est intéressant.
Tout d'abord, pour charger les données fait comme ça :
var txt:LoadVars = new LoadVars();
txt.onData = function (data) {
trace(data);
}
txt.load("http://www.citation.fr/citation.php");
Malheureusement FlashPlayer n'intégre pas encore les Regexp, donc pour extraire la citation il faut que tu bricoles avec String.split, String.indexOf, String.substring ...

SuperDevy, c la !
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Je crois que tu fais erreur : FlashPlayer n'est pas capable d'éxécuter du JavaScript !

SuperDevy, c la !
Messages postés
105
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
11 décembre 2006

ben justment je ne veut pas executer du javascript, je récupère un chaîne js dont je voudrait extraire un morceau !!!
c tout
Messages postés
105
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
11 décembre 2006

Un grand merci pour toutes ces pistes trés pertinantes, immédiatement misent en application :

var txt:LoadVars = new LoadVars();
txt.onData = function(data) {
var searchString:String = data;
var debut:Number;
var fin:Number;
debut = searchString.indexOf(""");
fin = searchString.indexOf(""", debut+1);
var citation:String = searchString.substring(debut+1, fin);
trace(citation);
};
txt.load("http://www.citation.fr/citation.php");

à +
Messages postés
105
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
11 décembre 2006

Voilà j'ai amélioré un peu tout ça, ça donne une citation défilante qui change chaque jour !!!

//CHARGEMENT de la citation
var txt:LoadVars = new LoadVars();
txt.onData = function(data) {
var searchString:String = data;
var debut:Number;
var fin:Number;
debut = searchString.indexOf(""");
fin = searchString.indexOf(""", debut+1);
var citation:String = searchString.substring(debut+1, fin);
_root.createTextField("news_texte", 100, 500, 0, 200, 30);
// PARAMETRES DU TEXTE DEFILANT
taille = 3;
vitesse = 4;
///////////////////////////////
with (_root.news_texte) {
type = "dynamic";
html = true;
htmlText = citation;
_width = citation.length*taille;
monFormat = new TextFormat("Arial", 12, 0x666666);
setTextFormat(monFormat);
}
limMin = -400;
limMax = 100;
_root.onEnterFrame = function() {
this._x -= vitesse;
trace(this._width);
trace(this._x);
if (this._x+this._width<limMin) {
this._x = limMax;
}
};
};
txt.load("http://www.citation.fr/citation.php");
Messages postés
105
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
11 décembre 2006

J'ai ajouté ça :

SupprDebut = searchString.indexOf("&nbsp; &copy;");
SupprFin = searchString.indexOf("&nbsp; &copy;")+13;
var citation:String = searchString.substring(debut+1, SupprDebut)+" - "+searchString.substring(SupprFin, fin);

Pour virer les caractères html non interprétés.
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Beau boulot.
Tu peux déposer ta création comme source ici, ça peut intéresser pas mal de monde ...

SuperDevy, c la !