begin process at 2012 02 11 00:24:02
  Trouver un code source :
 
dans
 

47 commentaire(s) de zen69 sur des sources sur tout CodeS-SourceS

Déposé sur Html_entities_decode

Bon finalement voici la fonction complète et révisé.

Quelques modifications depuis mon dernier commentaire....

J'ai enlever la clause insensitive de l'exp reg afin de ne pas mélanger par example É et é
J'ai complèté la liste des caractères.
J'ai ajouté un condition undefined aux entités qui commence avec un # puisqu'elles sont extraites de la variable entities.
J'ai aussi modifié la longueur des entitiés nommées comme &Agrave pour prendre l'entitée complète 4 étant trop court.

Encore une fois merci à Arto_8000 pour sa grande aide!!
Posté le : 25/03/2010 18:11:26

Déposé sur Html_entities_decode

Correction voici la fonction que j'utilise maintenant,

function html_decode(html) {
var matches = html.match(/&(#[0-9]{1,3}|[a-z]{2,6});/gi);
var nameEntities = {
quot : "%22",
apos : "%27",
amp  : "%26",
lt   : "%3C",
gt   : "%3E",
nbsp : "%A0",
agrave : "%E0",
224 : "%E0",
32  : "%A0"
}

if (matches != null) {
for (i=0; i<matches.length; i++) {
var code = matches[i].substring(1,matches[i].length-1);
if (code.charAt(0) == "#") {
html = html.replace(matches[i], nameEntities[code.substr(1)]);
} else {
if (typeof nameEntities[code] != "undefined") {
html = html.replace(matches[i], nameEntities[code]);
}
}
}
}

return html;
}

je n'ai pas mis toutes les entités pour faire plus court...

Merci bcp Arto_8000  
Posté le : 25/03/2010 16:48:38

Déposé sur Html_entities_decode

Arto_8000: Merci beaucoup pour ces précision sur le replace avec et sans regexp, je n'étais pas au fait du fonctionnement et des différences entre les deux, mis-à-part du fait qu'un s'applique sur une exp reg et l'autre sur un string...

Ouin escape je connais mais finalement je dois le combiné avec fromCharCode...

Voici donc ce que j'utilise maintenant


function html_decode(html) {
var matches = html.match(/&(#[0-9]{1,3}|[a-z]{2,6});/gi);
var nameEntities = {
quot : "%22",
apos : "%27",
amp  : "%26",
lt   : "%3C",
gt   : "%3E",
nbsp : "%A0",
agrave : "%E0",
224 : "%E0",
}

if (matches != null) {
for (i=0; i<matches.length; i++) {
var code = matches[i].substring(1,matches[i].length-1);
if (code.charAt(0) == "#") {
html = html.replace(matches[i], escape(String.fromCharCode(code.substr(1))));
} else {
if (typeof nameEntities[code] != "undefined") {
html = html.replace(matches[i], nameEntities[code]);
}
}
}
}

return html;
}
Posté le : 25/03/2010 16:41:30

Déposé sur Html_entities_decode

Arto_8000: mais disons que j'ai 250 accents aiguë dans mon string. Il va faire le replace 250 fois non?

Si tel est le case, c'est plus optimisé selon l'utilisation qu'on en fait...?

De plus ma fonction retournais un chaîne hex... contrairement à ta fonction qui retourne les caractères décodés.

Je ne sais pas s'il y a un équivalent à String.fromCharCode pour transformer en hex, mais d'ici à ce que je trouve, je ne changerai pas ma fonction.
Posté le : 24/03/2010 14:59:58

Déposé sur Html_entities_decode

BaFM : une autre technique est de lire de descriptif avant de posté.

J'utilise la fonction pour mes alert() et mes confirm(...), et le n'avigateur ne fait justement pas la conversion tout seul. Et dans ta pseudo solution tu évoques toi même qu'elle ne fonctionne pas partout!
Posté le : 23/03/2010 19:22:15

Déposé sur Html_entities_decode

Arto_8000: ta fonction est très loin d'être complète. Cependant je comprend bien que dans ton exemple il va faire le replace seulement à la mesure des matchs trouvé ce qui est bien, cependant ta fonction elle effectue plusieurs opérations pour chaque match.

Merci tout de même pour ta précision, je tenterai d'optimisé à l'aide de ce que tu as dis, quand j'aurai du temps, si le coeur m'en dit.
Posté le : 23/03/2010 18:50:31

Déposé sur Désactiver un bouton submit après envoi du formulaire

J'ai pas testé du tout... mais ce pourrait-il que ceci règle le probleme de la fonction obsolète...

current_item.addEventListener("click", remListener, false);

function remListener(event) {
   callback(event);
   this.removeEventListener('click',remListener.caller,false);
}

Deplus je crois que une combinaison des deux solutions proposé est l'idéal, car avec obj.disabled = "true"; le bouton ne "renfonce" plus lors du clique...
:P
Posté le : 19/03/2010 18:45:44

Déposé sur Effet de vague sur image (ou clip animé si vous voulez)

Tres belle effet super simple reste plus qu'à l'adapter à AS3 ;)
Posté le : 27/10/2009 18:09:56

Déposé sur Upload de fichier avec filereference & filereferencelist

Comment faire pour que le upload des fichiers temporaires s'effectue dans un autre repertoire que celui de l'application flash ?
Posté le : 23/02/2009 17:37:47

Déposé sur Upload de fichier avec filereference & filereferencelist

Pour ceux qui n'arrive pas a le faire fonctionner correctement vous devez probablement modifier cette ligne dans le flash puis recompiler votre swf:

var urlUpload = "http://localhost/upload.php";
Posté le : 23/02/2009 17:11:40

1 2 3 4 5


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales