MA CLASSE DE BASE SUR LES TEXTES ( STRINGS )

petite_mise_a_jour_de_la_doc Messages postés 7 Date d'inscription mardi 23 août 2005 Statut Membre Dernière intervention 29 mars 2006 - 29 mars 2006 à 14:35
cs_Azarek Messages postés 7 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 2 novembre 2006 - 2 nov. 2006 à 01:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36795-ma-classe-de-base-sur-les-textes-strings

cs_Azarek Messages postés 7 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 2 novembre 2006
2 nov. 2006 à 01:44
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.
snakeeater1 Messages postés 175 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 7 mars 2008
30 mars 2006 à 12:50
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 ;)
petite_mise_a_jour_de_la_doc Messages postés 7 Date d'inscription mardi 23 août 2005 Statut Membre Dernière intervention 29 mars 2006
29 mars 2006 à 20:37
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=""/> 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.
snakeeater1 Messages postés 175 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 7 mars 2008
29 mars 2006 à 19:10
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 ?
petite_mise_a_jour_de_la_doc Messages postés 7 Date d'inscription mardi 23 août 2005 Statut Membre Dernière intervention 29 mars 2006
29 mars 2006 à 14:35
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
Rejoignez-nous