JavaScript obtener última etiqueta html en textarea

  • mindfullsilence
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ago 04, 2008
  • Mensajes: 846
  • Status: Offline

Nota Agosto 3rd, 2011, 5:32 pm

Tratado de figura esto durante un tiempo ahora chicos y necesito su ayuda. Im tratando de encontrar el último abrió elemento html en un área de texto. Mensajería instantánea con problemas en varias áreas. No es muy eficiente para ejecutar la búsqueda en toda la cadena, en lugar de ello que necesito para ejecutar desde el final de la cadena y detener una vez que se encuentra la etiqueta. Necesito que se devolverá el elemento html, despojado de atributos y soportes. También debe ignorar self etiquetas de cierre. Heres un ejemplo de lo que quiero decir:
HTML Código: [ Select ]
<h1>Hello</h1>
<p>Augue pid rhoncus. Proin hac placerat, lectus diam, <a href="#"><img src="#" /></a></p>
 
  1. <h1>Hello</h1>
  2. <p>Augue pid rhoncus. Proin hac placerat, lectus diam, <a href="#"><img src="#" /></a></p>
  3.  

Necesitaría la función javascript para volver "a". ¿Alguna idea? Obviamente va a ser la manipulación de cadenas y expresiones regulares posiblemente, pero hasta ahora mis intentos han sido inútiles.
Use your words like arrows to shoot toward your goal.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Agosto 3rd, 2011, 5:32 pm

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Agosto 3rd, 2011, 11:09 pm

Esto puede ayudar a punto de que en la dirección correcta.

JAVASCRIPT Código: [ Select ]
var html = '<h1>Hello</h1><p>Augue pid rhoncus. Proin hac placerat, lectus diam, <a href="#" class="ds"><img src="#" /></a></p>'
var matches = html.match(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gi,html)
console.log(matches);
 
for ( x in matches )
{
    matches[x] = matches[x].replace(/\s[^\/>]+/g,'');
}
console.log(matches);
  1. var html = '<h1>Hello</h1><p>Augue pid rhoncus. Proin hac placerat, lectus diam, <a href="#" class="ds"><img src="#" /></a></p>'
  2. var matches = html.match(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gi,html)
  3. console.log(matches);
  4.  
  5. for ( x in matches )
  6. {
  7.     matches[x] = matches[x].replace(/\s[^\/>]+/g,'');
  8. }
  9. console.log(matches);


Código: [ Select ]
First Matches: [ '<h1>',
 '</h1>',
 '<p>',
 '<a href="#" class="ds">',
 '<img src="#" />',
 '</a>',
 '</p>' ]
After Replace Matches: [ '<h1>', '</h1>', '<p>', '<a>', '<img/>', '</a>', '</p>' ]
[Finished]
  1. First Matches: [ '<h1>',
  2.  '</h1>',
  3.  '<p>',
  4.  '<a href="#" class="ds">',
  5.  '<img src="#" />',
  6.  '</a>',
  7.  '</p>' ]
  8. After Replace Matches: [ '<h1>', '</h1>', '<p>', '<a>', '<img/>', '</a>', '</p>' ]
  9. [Finished]
#define NULL (::rand() % 2)

Publicar Información

  • Total de mensajes en este tema: 2 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 222 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC