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
[TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010[TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010 par pierre
Stephane Cordonnier de MCNext nous présente les fonctionnalités Web Content Management (WCM) sous SharePoint 2010. Qu'est-ce que le WCM ECM, GED, RM, WCM c'est quoi Plateforme SharePoint Versions SharePoint 2010 SharePoint Fondation...
Cliquez pour lire la suite de l'article par pierre [DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE[DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE par tja
C'est le dernier principe des principes du Design Orienté Objet (The Principles of Object Oriented Design) fondés par Robert C. Martin plus connu sous le pseudonyme d'Uncle Bob.
l'image empruntée de LosTechies.
Je ne traite pas les principes dans...
Cliquez pour lire la suite de l'article par tja TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|