Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MA CLASSE DE BASE SUR LES TEXTES ( STRINGS )


Information sur la source

Catégorie :MX2004: CLASS Classé sous : string, replace, bbcode, parse, classe Niveau : Initié Date de création : 29/03/2006 Date de mise à jour : 29/03/2006 13:37:30 Vu / téléchargé: 6 553 / 764

Note :
Aucune note

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
remplace, force le html, parse du BBCode ( modifier )

comme d'ab la page de cette classe sur mon site est dispo : http://bkcreation.info/Flash_ClassesAs2_Strlibs_Str.html

BBCode inclus :
[b]Texte en gras[/b]
[i]Texte en italique[/i]
[u]Texte souligné[/u]
[br] Saut de ligne forcé
[url[http://adresse.com/]target[_blank]]Text du lien[/url] ( target : [ _blank | _self | _parent | nomdelaframe ] )
[img]http://url.de/L-image.jpg[/img]
[align[center]]Texte centré[/align] ( align : [ left | center | right ] )
[font[Arial]]Texte en arial[/font] ( font : toutes les polices sont acceptées )
[size[18]]Texte en 18[/size] ( size : Toutes les tailles sont acceptée )
[color[#00FF00]]Texte en vert[/color] ( color : toutes les couleurs au format hexadécimal acceptées )

[list]
[*]un objet[/*]
[*]un autre objet[/*]
[/list]
( list a puces ou a nombres en remplaçant la balise "list" par "nbrlist" )

[quote]citation en italique entre guillemet[/quote]
 

Source

  • Cette classe comporte 4 fonctions :
  • replace ( t, s, r ) : remplace un substring par un autre dans un string
  • // t = string source
  • // s = substring a remplacer
  • // r = substring remplacant
  • nl2br ( t ) : corrige le bug du dauble saut de ligne lors de l'importation de texte dynamique
  • // t = string source
  • parseHTML ( t ) : force le code html ( ex: remplace "<" par "<" )
  • // t = string source
  • parseBBCode ( t ) : parse le format BBCode ( modifié )
  • // t = string source
  • // attention ce ne sont pas les balises BBCode normale !
  • EXEMPLE :
  • import bkcore.strlibs.str;
  • myXML = new XML ();
  • myXML.ignoreWhite = true;
  • System.useCodepage = true;
  • myXML.load ("test.xml");
  • myXML.onLoad = function (flag)
  • {
  • if (flag)
  • {
  • accueil = myXML.childNodes[0];
  • tmpAccueilContent = accueil.firstChild.toString();
  • tmpAccueilContent = str.nl2br(tmpAccueilContent);
  • // résout le bug des doubles sauts de ligne
  • tmpAccueilContent = str.parseHTML(tmpAccueilContent);
  • // force le code html ( remplace < par < par exemple )
  • tmpAccueilContent = str.parseBBCode(tmpAccueilContent);
  • // parse le BBCode ( pas exactement un BBCode ) ^^
  • _root.accueilContent.htmlText = tmpAccueilContent;
  • }
  • }
Cette classe comporte 4 fonctions :

replace ( t, s, r ) : remplace un substring par un autre dans un string
// t = string source
// s = substring a remplacer
// r = substring remplacant

nl2br ( t ) : corrige le bug du dauble saut de ligne lors de l'importation de texte dynamique
// t = string source

parseHTML ( t ) : force le code html ( ex: remplace "<" par  "<"  )
// t = string source

parseBBCode ( t ) : parse le format BBCode ( modifié )
// t = string source
// attention ce ne sont pas les balises BBCode normale !



EXEMPLE :

import bkcore.strlibs.str;

myXML = new XML ();
myXML.ignoreWhite = true;
System.useCodepage = true;
myXML.load ("test.xml");
myXML.onLoad = function (flag)
{
    if (flag)
    {
        accueil = myXML.childNodes[0];
        tmpAccueilContent = accueil.firstChild.toString();
        tmpAccueilContent = str.nl2br(tmpAccueilContent);
// résout le bug des doubles sauts de ligne
        tmpAccueilContent = str.parseHTML(tmpAccueilContent);
// force le code html ( remplace < par < par exemple )
        tmpAccueilContent = str.parseBBCode(tmpAccueilContent);
// parse le BBCode ( pas exactement un BBCode ) ^^
        _root.accueilContent.htmlText = tmpAccueilContent;
    }
}

Conclusion

Cette classe utilise des fonctions trop simples pour que j'ai besoin de les commenter ^^
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

29 mars 2006 13:37:30 :
ptite modif des explications ^^

Commentaires et avis

signaler à un administrateur
Commentaire de petite_mise_a_jour_de_la_doc le 29/03/2006 14:35:33

Bonjour snakeeater1,
Je suis un très grand fainéant qui n'aime pas trop écrire.
La question est :
Est ce que replace(chaîne, "\n", ""); est égale à nl2br (chaîne);
C’est évident qu’au premier abord le système nl2br est plus court à l’utilisation mais dans un second temps le code source de nl2br est redondant avec celui de replace. J’ai, pour ma part, toujours une vision de maintenance du code et aussi la création de code le plus générique possible.
Autre remarque, parseHTML et parseBBCode sont 2 fonctions distinctes mais en réalité elles font exactement la même chose. Pour mieux comprendre, regarde la documentation PHP de la fonction preg_replace à « Exemple 5. Conversion HTML en texte » je pense que tu comprendras plus aisément le terme que j’appelle redondant.
Je peux, si tu le désire, être clair avec un exemple.
A Bientôt
Franck

signaler à un administrateur
Commentaire de snakeeater1 le 29/03/2006 19:10:15

nonon pas besoin je sais ce que veux dire redondant ^^
et pour te répondre :
"Est ce que replace(chaîne, "\n", ""); est égale à nl2br (chaîne);"
oui, c'est simplement que j'avais créé cette fonction avant la fonction replace ^^et que j'ai ommit de la modifier.
Sinon je trouve que les débutant préfèreront logiquement utiliser nl2br (chaîne); plutot que replace(chaîne, "\n", ""); car ils ne sauront pas forcément que le bug du double saut de ligne d'import vien de la ;)

"parseHTML et parseBBCode sont 2 fonctions distinctes mais en réalité elles font exactement la même chose"
Ce sont simplement des replace préécrit et directement utilisable pour des cas précis et cela évite d retaper tous ces replace a chaque fois. Personnelement j'utilise le parsage de BBCode pour les posts mais j'utilise parseHTML dans d'autre cas ;) j'ai donc besoin de 2 fonction distinctes

"regarde la documentation PHP de la fonction preg_replace à « Exemple 5. Conversion HTML en texte »"
De quelle doc parle tu ? php.net ?

signaler à un administrateur
Commentaire de petite_mise_a_jour_de_la_doc le 29/03/2006 20:37:58

Bonsoir,
Si replace(chaîne, "\n", ""); et nl2br (chaîne); sont équivalente pourquoi de ne pas écrire :
Function nl2br (chaîne) {
replace(chaîne, "\n", "");
}

je parlais de la doc au format Windows php_manual.chm
mais il y a le lien si dessous :
http://fr2.php.net/manual/fr/function.preg-replace.php
voir "Exemple 1. Convertit du HTML en texte"
il y a ce que l'on cherche ($search) et ce que l'on remplace $replace.

Prenons un peu de recule avec les fonctions parseHTML et parseBBCode et ne regardons pas ce qu'elles font mais plutôt leur caractère identique comme comparer 2 dessins dans le jeux des 7 erreurs, les 2 dessins sont différents par de petits points mais fondamentalement identique.
Où je veux en venir !?
Et bien garder ce qui est identique car c’est la base, ici la class, et extraire du code les différences.
Les différences sont toutes les séries de remplacement.
Exemple, stocker les différences (remplacement) dans une base de donnée ou dans un format xml <tag search="[b]" replace="<b>"/> charger les différences et les envoyer dans un replace.
S'il y a des nouveaux éléments de remplacement alors je touche la base et non pas la class.
Enfin c’est ma vision des choses.

signaler à un administrateur
Commentaire de snakeeater1 le 30/03/2006 12:50:32

perso je préfère le "tout-en-flash" ce qui est beaucoup plus rapide a déployer. Après chacun ses choix. de plus j'utilise partout les même classe donc changer le contenu d'une classe ou changer le conteu d'un xml revien au même ;)

"Si replace(chaîne, "\n", ""); et nl2br (chaîne); sont équivalente pourquoi de ne pas écrire :
Function nl2br (chaîne) {
replace(chaîne, "\n", "");
}"
Comme je l'ai dit dans le message plus au cela viens du fait que j'ai écrit cette fonction avant la fonction replace() et que j'ai simplement oublier de mettre a jour ;)

signaler à un administrateur
Commentaire de Azarek le 02/11/2006 01:44:31

Bonjour,
je suis nouveau en action script, je ne vois pas tjs ou vs voulez en venir.
Votre solution marche uniquement lorsque l'on fait un "toString()", donc on ne peut pas mettre plusieurs noeuds ds vos xml.... Non? J'ai essayé, je n'y parviens pas.
Merci pour votre réponse.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

string->movieclip [ par joachimdjibril ] Bonjour,   Voici mon probleme, je veux envoyer le nom d'un clip en xmlsocket, l'information arrive a bon port mais entre temps avec le parse dans le t Pattern Observer sans pattern ? [ par jcsydney ] BonjourJe sais comment associer un clip à une classe AS2 pour lui donner un comportement (du genre un clip Balle dans un FLA et un Balle.as pour le co afficher plusieurs colonnes issues d'un xml [ par vegetalain ] Salut, voilà, je dois afficher des produits et des prix dans flash, via xml. les prix doivent être alignés à droite (colonne3) et le reste (col1 et co classe [ par sangho ] Ma classe contenue dans le fichier table_membre.as :lass table_membre {   var nom:String; function get_champ():String {  nom = "lol";  return nom; } } class, renvois de String à mon script AS3 [ par mikouRoux ] Salut à tous,Voilà un moment que je m'arrache les cheveux pour comprendre comment renvoyer une chaine de caractère en sortie d'une classe en actionscr À propos de la classe Vector [ par inaden ] Bonjour,question de cours...Je viens de découvrir qu'il existe une classe Vector, d'après ce qui est dit, plus optimiser que la classe Array, mais plu Problème d'affichage de variable [ par Sub_Mat ] Bonjour à tous,Voilà je vous explique, je souhaiterai afficher l'actualité en continu sur mon site en flash, et pour cela je charge les données dans u Flash envoi Email fonction Parse [ par hybris06 ] Bonjour a tous,Je suis désespéré si quelqu' un a une idee.je cherche a envoier un resulta de formulaire en flash par mail, j'utilise la methode post e Evenement de clip qui pointe sur une fonction d'une classe [ par francois44 ] Bonjour,Je suis en train de créer une classe créant des clips à la dynamiquement pour réaliser un menu. La première étape sui consiste à créer le menu TypeError: Error #1006: getN1_x n'est pas une fonction. [ par Mansuz ] Bonjour,Je débute l'AS3 et je me heurte souvent à de nombreuses erreurs...J'ai une classe de document(main timeline)sur cette classe j'ai une fonction


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.