Accueil > > > EDITEUR DE TEXTE
EDITEUR DE TEXTE
Information sur la source
Description
Voila un petit éditeur de texte en FlashMX. Il se base sur le principe du TextFormat de textField : récupérer les propriétés du TextFormat de la sélection en cour, puis les modifier. Il permet de mettre en gras, italique, souligner, indenter la ligne ou le bloc, pucer, centrer ou aligner a droite ou gauche, choisir l'interligne, la taille, la police, la couleur, d'ajouter un lien (et de le supprimer), de mémoriser un format, d'appliquer celui mémorisé, de gommer une partie du format, et d'appliquer des styles de format. Comme il est n'est pas en FlashMX 2004, on ne bénéficiera pas des feuilles de styles qui auraient été bien pratique pour définir... le style ;-p
Source
- function cleanFlash($source) {
- $source=str_replace('KERNING="0"','',$source);
- $source=str_replace('LETTERSPACING="0"','',$source);
- // ajuster les paragraphes
- $source=preg_replace("'<TEXTFORMAT([^>]*)><LI[^>]*>(.*?)</LI></TEXTFORMAT>'si","<li \$1>\$2</li>",$source);
- $source=preg_replace("'<TEXTFORMAT([^>]*)><P([^>]*)>(.*?)</P></TEXTFORMAT>'si","<p\$1\$2>\$3</p>",$source);
- $source=preg_replace("'<li([^>]*)>'i","<ul>
- <li\$1>" ,$source);
- $source=preg_replace("'</li>'i","</li>
- </ul>" ,$source);
- $source=preg_replace("'FACE=\"([^\"]*)\"'i","font-family:\$1;",$source);
- //$source=preg_replace("'LEADING=\"(\d+)\"'i","line-height:\$1px;",$source);
- //$source=preg_replace("'LEADING=\"(\d+)\"'i","line-height:1.\$1em;",$source);
- $source=preg_replace("'LEADING=\"(\d+)\"'i","",$source);
- $source=preg_replace("'SIZE=\"(\d+)\"'i","font-size:\$1px;",$source);
- $source=preg_replace("'COLOR=\"([^>]+)\"'i","color:\$1;",$source);
- $source=preg_replace("'ALIGN=\"([^\"]*)\"'i","text-align:\$1;",$source);
- $source=preg_replace("'BLOCKINDENT=\"(\d+)\"'i","margin-left:\$1px; margin-right:\$1px;",$source);
- $source=preg_replace("'INDENT=\"(\d+)\"'i","text-indent:\$1px;",$source);
- $source=preg_replace("'<FONT([^>]*)>'i","<span\$1>",$source);
- $source=preg_replace("'</FONT>'i","</span>",$source);
- // balise css clean
- $source=preg_replace("'<span ([^>]*)'i","<span style=\"\$1\"",$source);
- $source=preg_replace("'<p([^>]*)'i","
- <p style=\"\$1\"",$source);
- $source=preg_replace("'<B>(.*?)</B>'si","<strong>\$1</strong>",$source);
- $source=preg_replace("'<I>(.*?)</I>'si","<em>\$1</em>",$source);
- $source=preg_replace("'<li([^>]*)'i","
- <li style=\"\$1\"",$source);
- $source=preg_replace("'<li([^>]*)line-height'i","<li\$1margin-bottom",$source);
- // gommer les valeurs vides
- $source=preg_replace("'TARGET=\" *\"'i","",$source);
- $source=preg_replace("'style=\" *\"'i","",$source);
- $source=preg_replace("'style=\" +'","style=\"",$source);
- $source=preg_replace("'\040+'","\040",$source);
- $source=str_replace('</ul><ul>','',$source);
- $source=preg_replace("'<span([^>]*)></span>'",'',$source);
- // gommer les paragraphes inutiles pour des retour a la ligne
- $source=preg_replace("'<p *>(.*?)</p>'si","\$1<br />",$source);
- // gommer les valeurs par défaut :
- $source=preg_replace("'<p style=\"line-height:1.2em; text-align:LEFT;\">'i","<p>",$source);
- // $source=str_replace('<span style="font-family:Arial; font-size:12px; color:#333333;">','<span>',$source);
- // gommer les balises vides
- $source=str_replace('<strong></strong>','',$source);
- $source=preg_replace("'<span *>([^<]*)</span>'si","\$1",$source);
- $source=preg_replace("'<p>(.*?)</p>'si","\$1<br />",$source);
- $source=str_replace('<li style="margin-bottom:2px;">','<li>',$source);
- $source=preg_replace("'(\r\n|\n|\r)+'","\n",$source);
- return ($source);
- }
- function flashBack ($source) { // pour annuler le micro-encodage html de flash
- $source=str_replace(""",'"', $source);
- $source=str_replace("'","'", $source);
- $source=str_replace("&","&", $source);
- $source=str_replace(">",">", $source);
- $source=str_replace("<","<", $source);
- //$source=str_replace('\\"','"', $source);
- //$source=str_replace("\\'","'", $source);
- $source=stripslashes ($source);
- return ($source);
- }
function cleanFlash($source) {
$source=str_replace('KERNING="0"','',$source);
$source=str_replace('LETTERSPACING="0"','',$source);
// ajuster les paragraphes
$source=preg_replace("'<TEXTFORMAT([^>]*)><LI[^>]*>(.*?)</LI></TEXTFORMAT>'si","<li \$1>\$2</li>",$source);
$source=preg_replace("'<TEXTFORMAT([^>]*)><P([^>]*)>(.*?)</P></TEXTFORMAT>'si","<p\$1\$2>\$3</p>",$source);
$source=preg_replace("'<li([^>]*)>'i","<ul>
<li\$1>" ,$source);
$source=preg_replace("'</li>'i","</li>
</ul>" ,$source);
$source=preg_replace("'FACE=\"([^\"]*)\"'i","font-family:\$1;",$source);
//$source=preg_replace("'LEADING=\"(\d+)\"'i","line-height:\$1px;",$source);
//$source=preg_replace("'LEADING=\"(\d+)\"'i","line-height:1.\$1em;",$source);
$source=preg_replace("'LEADING=\"(\d+)\"'i","",$source);
$source=preg_replace("'SIZE=\"(\d+)\"'i","font-size:\$1px;",$source);
$source=preg_replace("'COLOR=\"([^>]+)\"'i","color:\$1;",$source);
$source=preg_replace("'ALIGN=\"([^\"]*)\"'i","text-align:\$1;",$source);
$source=preg_replace("'BLOCKINDENT=\"(\d+)\"'i","margin-left:\$1px; margin-right:\$1px;",$source);
$source=preg_replace("'INDENT=\"(\d+)\"'i","text-indent:\$1px;",$source);
$source=preg_replace("'<FONT([^>]*)>'i","<span\$1>",$source);
$source=preg_replace("'</FONT>'i","</span>",$source);
// balise css clean
$source=preg_replace("'<span ([^>]*)'i","<span style=\"\$1\"",$source);
$source=preg_replace("'<p([^>]*)'i","
<p style=\"\$1\"",$source);
$source=preg_replace("'<B>(.*?)</B>'si","<strong>\$1</strong>",$source);
$source=preg_replace("'<I>(.*?)</I>'si","<em>\$1</em>",$source);
$source=preg_replace("'<li([^>]*)'i","
<li style=\"\$1\"",$source);
$source=preg_replace("'<li([^>]*)line-height'i","<li\$1margin-bottom",$source);
// gommer les valeurs vides
$source=preg_replace("'TARGET=\" *\"'i","",$source);
$source=preg_replace("'style=\" *\"'i","",$source);
$source=preg_replace("'style=\" +'","style=\"",$source);
$source=preg_replace("'\040+'","\040",$source);
$source=str_replace('</ul><ul>','',$source);
$source=preg_replace("'<span([^>]*)></span>'",'',$source);
// gommer les paragraphes inutiles pour des retour a la ligne
$source=preg_replace("'<p *>(.*?)</p>'si","\$1<br />",$source);
// gommer les valeurs par défaut :
$source=preg_replace("'<p style=\"line-height:1.2em; text-align:LEFT;\">'i","<p>",$source);
// $source=str_replace('<span style="font-family:Arial; font-size:12px; color:#333333;">','<span>',$source);
// gommer les balises vides
$source=str_replace('<strong></strong>','',$source);
$source=preg_replace("'<span *>([^<]*)</span>'si","\$1",$source);
$source=preg_replace("'<p>(.*?)</p>'si","\$1<br />",$source);
$source=str_replace('<li style="margin-bottom:2px;">','<li>',$source);
$source=preg_replace("'(\r\n|\n|\r)+'","\n",$source);
return ($source);
}
function flashBack ($source) { // pour annuler le micro-encodage html de flash
$source=str_replace(""",'"', $source);
$source=str_replace("'","'", $source);
$source=str_replace("&","&", $source);
$source=str_replace(">",">", $source);
$source=str_replace("<","<", $source);
//$source=str_replace('\\"','"', $source);
//$source=str_replace("\\'","'", $source);
$source=stripslashes ($source);
return ($source);
}
Conclusion
Merci a whitemagus pour sa première version (qui m'a mise sur la voie du textformat et non de l'insertion de balise). Dans cette version le menu Fichiers ne me servait a rien, donc il ne fonctionne pas. Libre à vous de le faire marcher (comme whitemagus qui a utilisé les sharedobject).
Pti bug : l'interligne ne se met pas a jour lorsqu'on change la sélection (la valeur change, mais pas le chiffre lorsque l'on sélectionne autre chose)
Extension : si ca intéresse quelqu'un j'ai fait une moulinette PHP pour le texte HTML généré par flash, de manière à ce qu'il soit compatible w3c, et l'alléger (retirer les balises inutiles et les valeurs par défaut)
Enjoy
Historique
- 13 janvier 2008 21:51:12 :
- J'ajoute dans la "Source" ma petite fonction php pour nettoyer le texte généré.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
loadvariable texte [ par hobbes92 ]
bonjourje voudrais integrer une variabletexte dans du flash avec plusieurs lignes a partir du meme fichier notepad.genre dans le notepad : texte1= pat
éditeur texte/image en flash [ par delphine2704 ]
BonjourJe suis à la recherche d'un code source d'un editeur de textes et d'images à mettre en ligne en flash avec génération d'un fichier pdf de la co
éditeur de texte dans un swf [ par gutemberg ]
(Préambule : je ne développe pas en Flash et je n'ai pas le temps d'apprendre) Bonjour, je cherche un éditeur-lecteur de texte basique dans un flash
longueur de texte sous flash [ par sachaaa ]
Bonjour j'ai un petit probleme je fais un site avec plein d'article qui sont tres longet quand je fais un texte avec flash il ne me le met pas en enti
bonton flash qui ouvre un texte html ds un cadretexte ds mon fichier flash [ par chouille41 ]
je recherche un code pour pouvoir au clic sur un bouton afficher du texte ds un cadre vide a l ouverture sans utilise des gotoandplay 3... en l import
Rollover texte XML [ par attriyou ]
Bonjour, je galère depuis 3 jours à essayer de faire marcher mon anim sans aucuns succès, les tutos et autres réponses sont plutôt vague alors si qqn
chargement d'un fichier texte externe [ par bobstar ]
Bonjour à tous et à toutesPour commencer, et surtout pour m'excuser, je ne suis qu'une simple infographiste, alors AS et moi on est pas encore pote lo
utilisé une variable d'un txt pour flash [ par whiteeel ]
bonjour a tous,etant actuellement en train de créer un petit jeu flash, j'aurai besoin d'aide concernant le chargement d'une variable et surtout son u
j'ai besoin de votre aide [ par imane0303 ]
bonjourj'ai besoin de votre aide svpj'ai travaillée une animation flash .l'efect des image marche bien mais le texte qu' est en bas marche pasje con
Problème de texte dans une image flash. [ par Flomike ]
Bonjour, voila mon problème :Lorsque j'importe une image avec un texte dans celle-ci sur mon flash, tout marche lors de la visualisation ! Mais lorsqu
|
Derniers Blogs
[TECHDAYS2012] OUI J'Y SERAI![TECHDAYS2012] OUI J'Y SERAI! par JeremyJeanson
Bonsoir, Certes, je l'annonce avec un peu de retard, mais je serai effectivement au Techdays demain. Comme l'an dernier, je participerai au programme ATE (Ask The Expert). Si vous avez des questions Workflow, WCF, AppFabric ou plus généralement .net, n'hé...
Cliquez pour lire la suite de l'article par JeremyJeanson TFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICESTFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICES par vfabing
Afin de s'assurer du bon fonctionnement des différentes synchronisations effectuées par les TFS Integration Tools, 2 rapports sont présents dès l'installation. Il suffit alors d'effectuer les manipulations suivantes pour pouvoir les visualiser : Loca...
Cliquez pour lire la suite de l'article par vfabing CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|