Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2011, 17:03
Avatar de ColdFusion
ColdFusion
 
Fecha de Ingreso: octubre-2008
Ubicación: Tocoa, Colon Honduras C.A.
Mensajes: 419
Antigüedad: 16 años, 5 meses
Puntos: 9
Funcion no se ejecuta en Internet Explorer

Veran tengo esta funcion
Código Javascript:
Ver original
  1. function html2bbcode(data) {
  2.     if (!data) { return ''; }
  3.     // unwanted breaklines
  4.     data = data.replace(/\n|\r/g, '');
  5.  
  6.     // code
  7.     data = data.replace(
  8.         new RegExp('<(?:pre|code)>([^]*?)<\\\/(?:pre|code)>', 'g'),
  9.         function (match, _1) {
  10.             return '[code]' + strip_tags(_1, '<br><br/><br />') + '[/code]'
  11.         }
  12.     );
  13.     // quotes
  14.     data = data.replace(
  15.         new RegExp('<blockquote><div class="cita"><strong>([^]*?)<\\\/strong> dijo:<\\\/div>', 'g'),
  16.         '[quote=$1]'
  17.     );
  18.     do {
  19.         original = data;
  20.         data = data.replace(
  21.             new RegExp('<div class="citacuerpo">(?:<p>)?([^]*?)(?:<\\\/p>)<\\\/div><\\\/blockquote>', 'g'),
  22.             function (m, _1) {
  23.                 if (_1.match(new RegExp('<div class="citacuerpo">(?:<p>)?([^]*?)(?:<\\\/p>)<\\\/div><\\\/blockquote>'))) {
  24.                     return m;
  25.                 } else {
  26.                     return _1 + '[/quote]';
  27.                 }
  28.             }
  29.         );
  30.     } while (original != data);
  31.     // swf
  32.     data = data.replace(
  33.         new RegExp('(?:<br>)?(?:<center>)?<embed src="([^]*?)"(.*?)>(?:<\\\/embed>)?(?:<\\\/center>)?', 'g'),
  34.         '[swf=$1]'
  35.     );
  36.     // images
  37.     data = data.replace(/<img\s[^<>]*?src=\"?([^<>]*?)\"?(\s[^<>]*)?\/?>/gi, '[img]$1[/img]');
  38.     // strong
  39.     data = data.replace(/<(strong|b)(\s[^<>]*)?>/gi, '[b]');
  40.     data = data.replace(/<\/(strong|b)>/gi, '[/b]');
  41.     // italic
  42.     data = data.replace(/<(em|i)(\s[^<>]*)?>/gi, '[i]');
  43.     data = data.replace(/<\/(em|i)>/gi, '[/i]');
  44.     // underline
  45.     data = data.replace(/<u(\s[^<>]*)?>/gi, '[u]');
  46.     data = data.replace(/<\/u>/gi, '[/u]');
  47.    
  48.     data = data.replace(/<ul(\s[^<>]*)?>/gi, '[ul]');
  49.     data = data.replace(/<\/ul>/gi, '[/ul]');
  50.    
  51.     data = data.replace(/<li(\s[^<>]*)?>/gi, '[li]');
  52.     data = data.replace(/<\/li>/gi, '[/li]');
  53.    
  54.     // cleanup & pre processing
  55.     data = data.replace(/<div><br(\s[^<>]*)?>/gi, '<div>');
  56.     data = data.replace(/<br(\s[^<>]*)?>/gi, '\n');
  57.     data = data.replace(/<p(\s[^<>]*)?>/gi, '');
  58.     data = data.replace(/<\/p>/gi, '\n');
  59.     data = data.replace(/<\/div>\s*<div([^<>]*)>/gi, '</span>\n<span$1>');
  60.     data = data.replace(/<div([^<>]*)>/gi, '\n<span$1>');
  61.     data = data.replace(/<\/div>/gi, '</span>\n');
  62.     data = data.replace(/&nbsp;/gi, ' ');
  63.     data = data.replace(/&quot;/gi, '\"');
  64.     data = data.replace(/&amp;/gi, '&');
  65.     var sc, sc2;
  66.     do {
  67.         sc = data;
  68.         // font tag (eew!) color
  69.         data = data.replace(/<font\s[^<>]*?color=\"?([^<>]*?)\"?(\s[^<>]*)?>([^<>]*?)<\/font>/gi, '[color=$1]$3[/color]');     
  70.         // ...and size
  71.         data = data.replace(
  72.             /<font\s[^<>]*?size=\"?([^<>]*?)\"?(\s[^<>]*)?>([^<>]*?)<\/font>/gi,
  73.             function (m, _1, _2, _3) {
  74.                 return '[size=' +_1 + ']' + _3 + '[/size]';
  75.             }
  76.         );
  77.         // font tag cleanup
  78.         if(sc == data) {
  79.             data = data.replace(/<font[^<>]*>([^<>]*?)<\/font>/gi, '$1');
  80.         }
  81.         data = data.replace(/<a\s[^<>]*?href=\"?([^<>]*?)\"?(\s[^<>]*)?>([^<>]*?)<\/a>/gi, '[url=$1]$3[/url]');
  82.         sc2 = data;
  83.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-weight: ?bold;?\"?\s*([^<]*?)<\/\1>/gi, '[b]<$1 style=$2</$1>[/b]');
  84.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-weight: ?normal;?\"?\s*([^<]*?)<\/\1>/gi, '<$1 style=$2</$1>');
  85.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-style: ?italic;?\"?\s*([^<]*?)<\/\1>/gi, '[i]<$1 style=$2</$1>[/i]');
  86.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-style: ?normal;?\"?\s*([^<]*?)<\/\1>/gi, '<$1 style=$2</$1>');
  87.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?text-decoration: ?underline;?\"?\s*([^<]*?)<\/\1>/gi, '[u]<$1 style=$2</$1>[/u]');
  88.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?text-decoration: ?none;?\"?\s*([^<]*?)<\/\1>/gi, '<$1 style=$2</$1>');
  89.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?color: ?([^<>]*?);\"?\s*([^<]*?)<\/\1>/gi, '[color=$2]<$1 style=$3</$1>[/color]');
  90.         data = data.replace(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-family: ?([^<>]*?);\"?\s*([^<]*?)<\/\1>/gi, '[font=$2]<$1 style=$3</$1>[/font]');
  91.         // alignment
  92.         data = data.replace(/<(span|blockquote|pre|p)\s[^<>]*?style=\"?text-align: ?([^<>]*?);\"?\s*([^<]*?)<\/\1>/gi, '[align=$2]<$1 style=$3</$1>[/align]');
  93.         data = data.replace(
  94.             /<(span|blockquote|pre)\s[^<>]*?style=\"?font-size: ?([^<>]*?);\"?\s*([^<]*?)<\/\1>/gi,
  95.             function (m, _1, _2, _3) {
  96.                 return '[size=' + parseInt(_2) + ']<' + _1 + ' style=' + _3 + '</' + _1 + '>[/size]';
  97.             }
  98.         );
  99.         data = data.replace(/<(blockquote|pre)\s[^<>]*?style=\"?\"? (class=|id=)([^<>]*)>([^<>]*?)<\/\1>/gi, '<$1 $2$3>$4</$1>');
  100.         data = data.replace(/<span\s[^<>]*?style=\"?\"?>([^<>]*?)<\/span>/gi, '$1');
  101.         if(sc2 == data) {
  102.             data = data.replace(/<span[^<>]*>([^<>]*?)<\/span>/gi, '$1');
  103.             sc2 = data;
  104.         }
  105.     } while(sc != data);
  106.     data = data.replace(/<[^<>]*>/gi, '');
  107.     data = data.replace(/&lt;/gi, '<');
  108.     data = data.replace(/&gt;/gi, '>');
  109.     // childs against parents
  110.     /*do {
  111.         sc = data;
  112.         data = data.replace(/\[(b|i|u)\]\[quote([^\]]*)\]([\s\S]*?)\[\/quote\]\[\/\1\]/gi, '[quote$2][$1]$3[/$1][/quote]');
  113.         data = data.replace(/\[color=([^\]]*)\]\[quote([^\]]*)\]([\s\S]*?)\[\/quote\]\[\/color\]/gi, '[quote$2][color=$1]$3[/color][/quote]');
  114.         data = data.replace(/\[(b|i|u)\]\[code\]([\s\S]*?)\[\/code\]\[\/\1\]/gi, '[code][$1]$2[/$1][/code]');
  115.         data = data.replace(/\[color=([^\]]*)\]\[code\]([\s\S]*?)\[\/code\]\[\/color\]/gi, '[code][color=$1]$2[/color][/code]');
  116.     } while(sc != data);*/
  117.     do {
  118.         sc = data;
  119.         data = data.replace(/\[b\]\[\/b\]/gi, '');
  120.         data = data.replace(/\[i\]\[\/i\]/gi, '');
  121.         data = data.replace(/\[u\]\[\/u\]/gi, '');
  122.         data = data.replace(/\[quote[^\]]*\]\[\/quote\]/gi, '');
  123.         data = data.replace(/\[code\]\[\/code\]/gi, '');
  124.         data = data.replace(/\[url=([^\]]+)\]\[\/url\]/gi, '');
  125.         data = data.replace(/\[img\]\[\/img\]/gi, '');
  126.         data = data.replace(/\[color=([^\]]*)\]\[\/color\]/gi, '');
  127.     } while (sc != data);
  128.     return data;
  129. }

Funciona perfectamente en Firefox, pero en explorer no.

Alguien sabe cual es el problema?