Ver Mensaje Individual
  #13 (permalink)  
Antiguo 04/04/2004, 14:28
Avatar de vitxo
vitxo
 
Fecha de Ingreso: septiembre-2003
Ubicación: Valencia
Mensajes: 219
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola a todos,
la funcion tal como la uso ahora es asi: (ya se que el codigo no es php pero mola verlo con colores ejeje)
Código PHP:
function replaceSmilies(id){
        var 
smilies = new Array();
        
smilies[":-)"] = "regular_smile.gif";
        
smilies[":)"] = "regular_smile.gif";
        
smilies[";-)"] = "wink_smile.gif";
        
smilies[";)"] = "wink_smile.gif";
        
smilies[":D"] = "teeth_smile.gif";
        
smilies[":-D"] = "teeth_smile.gif";
        
smilies[":-|"] = "what_smile.gif";
        
smilies[":|"] = "what_smile.gif";
        
smilies[":-("] = "sad_smile.gif";
        
smilies[":("] = "sad_smile.gif";
        
smilies[":ein:"] = "sarcastic_smile.gif";
        
smilies[":sueco:"] = "roll_smile.gif";      
        
smilies[":pensando:"] = "thinking_smile.gif";
        
smilies[":-?"] = "dont_know_smile.gif";
        
smilies[":O"] = "omg_smile.gif";
        
smilies[":-O"] = "omg_smile.gif";

        var 
view document.getElementByIdid );
        for( 
smiley in smilies ){
          var 
html view.innerHTML.splitsmiley );
          
view.innerHTML html.join("<img 
src=\"$ctxPath/resources/$userName/"
+smilies[smiley]+"\" 
alt=\""
+smiley+"\"/>");
        }            
     } 
Aunque sustituye las ocurrencias que se encuentran en los atributos TITLE de cada etiqueta y en los bloques PRE,BLOCKQUOTE y CODE, cosa q no me interesa.
Eso podria controlarlo con expresiones regulares, pero todavia no me he puesto del todo. He medio conseguido hacer funcionar esta:


Código PHP:
        var patron "(:-*\))|(:-*D)|(:-*\()|(;-*\))|(:-*\|)|(:-*\?)
|(:-*O)|(:ein:)|(:sueco:)|(:pensando:)"
;
        var 
regexp = new RegExp(patron'gi');
view.innerHTML view.innerHTML.replace(regexp"<img src=\"imagenes/"+smilies[$1]+"\" alt=\"careto\"/>" ); 
La verdad que podria estar mas currada la expresion, pero de otra forma no me funciona, porque esta claro que todos o casi todos los emoticones tiene el :- en comun (o sin guion).
De hecho ahora q me acuerdo, en el debugger de mozilla me salta un error diciendo que la variable $1 no esta definida. uhm.
Como lo hariais vosotros? :)

un saludete, ya hablamos.

Última edición por vitxo; 04/04/2004 a las 14:30