\r
\r
/**\r
- * Classe permettant de formater du texte par exemple pour la substitution des liens dans les\r
+ * Objet permettant de formater du texte par exemple pour la substitution des liens dans les\r
* message par "[url]".\r
* TODO : améliorer l'efficacité des méthods notamment lié au smiles.\r
*/\r
\r
this.regexUrl = new RegExp("(?:(?:" + this.protocoles + ")://|www\\.)[^ ]*", "gi");\r
this.regexImg = new RegExp("^.*?\\.(gif|jpg|png|jpeg|bmp|tiff)$", "i");\r
- this.regexDomaine = new RegExp("^(?:(?:" + this.protocoles + ")://|www\\.).*?([^/.]+\\.[^/.]+)(?:$|/).*$", "i");\r
+ this.regexDomaine = new RegExp("^(?:(?:" + this.protocoles + ")://)(.*?)(?:$|/).*$", "i");\r
this.regexTestProtocoleExiste = new RegExp("^(?:" + this.protocoles + ")://.*$", "i");\r
this.regexNomProtocole = new RegExp("^(.*?)://");\r
};\r
*/\r
euphorik.Formateur.prototype.traiterWikiSyntaxe = function(m) {\r
return m.replace(\r
- /_(.*?)_/g,\r
+ /(?:^| )_(.*?)_(?:$| )/g,\r
function(texte, capture) {\r
return '<em class="leger">' + capture + '</em>';\r
}\r
).replace(\r
- /\*(.*?)\*/g,\r
+ /(?:^| )\*(.*?)\*(?:$| )/g,\r
function(texte, capture) {\r
return '<em class="fort">' + capture + '</em>';\r
}\r
\r
/**\r
* Renvoie une version courte de l'url.\r
- * par exemple : http://en.wikipedia.org/wiki/Yakov_Smirnoff devient wikipedia.org\r
+ * par exemple : http://en.wikipedia.org/wiki/Yakov_Smirnoff devient en.wikipedia.org\r
*/\r
euphorik.Formateur.prototype.getShort = function(url) {\r
var estUneImage = false;\r
return [versionShort ? versionShort : "url", estUneImage];\r
};\r
\r
+euphorik.Formateur.prototype.supprimerSmiles = function(m) {\r
+ objectEach(this.smiles, function(nom, smiles) {\r
+ for (var i = 0; i < smiles.length; i++) {\r
+ m = m.replace(smiles[i], "");\r
+ }\r
+ });\r
+ return m;\r
+};\r
+\r
/**\r
* Traite les pseudo et messages à être affiché dans le titre d'une image visualisé avec lightbox.\r
+ * Supprime les smiles pour pas qu'ils puissent être remplacés par la fonction 'traiterSmiles'.\r
+ * TODO : trouver un moyen pour que les smiles puissent être conservés\r
*/\r
euphorik.Formateur.prototype.traiterPourFenetreLightBox = function(M, urlCourante) {\r
var thisFormateur = this;\r
return "[" + thisFormateur.getShort(url)[0] + (urlCourante === url ? "*" : "") + "]";\r
};\r
\r
- return this.remplacerBalisesHTML(M).replace(this.regexUrl, traitementUrl);\r
+ return this.remplacerBalisesHTML(this.supprimerSmiles(M)).replace(this.regexUrl, traitementUrl);\r
};\r