elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Expresión regular en javascript para quitar tags
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Expresión regular en javascript para quitar tags  (Leído 3,357 veces)
astinx

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Expresión regular en javascript para quitar tags
« en: 23 Julio 2012, 03:38 am »

Hola que tal, he estado investigando acerca de como podría armar una expresión regular que haga lo siguiente:

En base a un string de html tipo "asd<strong>asd</strong> <strong>asd</strong> <strong>asd</strong>asd asd<strong>asd</strong>asd"

que al utilizar esta expresión regular me quite las tags de las palabras en donde haya estilos parciales, es decir,

asd<strong>asd</strong> se vería como asdasd como vemos tenemos solo parte de la palabra en negrita, lo que quiero es hacer un replace por "" y que me quede asdasd

<strong>asd</strong> se vería como asd como vemos todo esta en negrita, no hay ninguna letra que sobresalga y no este en negrita, por ende queda tal cual esta.

<strong>asd</strong>asd se vería como asdads como vemos el ultimo asd no esta en negrita y el primero si, por ende quiero quitarle los tags y que quede como asdasd

asd<strong>asd</strong>asd se veria como asdasdasd por ende tenemos un asd que esta en negrita entremedio y dos asd a los laterales de la palabra que no están en negrita, así que quiero sacar los tags y que me quede como asdasdasd

Esa sería la lógica de mi expresión regular, he estado buscando por varios sitios, leyendo bastante, pero no encuentro la forma de machear las tags y no las palabras en los laterales. Si alguien conoce alguna expresión regular similar, que pueda servir de inspiración, bienvenido sea.

Muchas gracias por detenerse a leer, saludos.


En línea

La programación hoy en día es una carrera entre los ingenieros de software intentando construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De momento, el Universo está ganando
Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: Expresión regular en javascript para quitar tags
« Respuesta #1 en: 23 Julio 2012, 12:37 pm »

Código
  1. <script>
  2. function strip(html)
  3. {
  4.     var tmp = document.createElement("DIV");
  5.     tmp.innerHTML = html;
  6.     return tmp.textContent || tmp.innerText;
  7. }
  8. </script>


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Expresión regular en javascript para quitar tags
« Respuesta #2 en: 24 Julio 2012, 05:45 am »

Este patron eliminara todos los tags.

http://jsfiddle.net/srUdp/
Código
  1. var Cadena = 'asd<strong>asd</strong> <strong>asd</strong> <strong>asd</strong>asd asd<strong>asd</strong>asd';
  2.  
  3. var result = Cadena.replace(/(?:<[^>]+>)/gi, '');
  4. document.write(result);

Result:
Código:
asdasd asd asdasd asdasdasd

Te recomiendo esta pagina para que testes tu expresiones regulares -> http://regex.larsolavtorvik.com/

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
astinx

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Expresión regular en javascript para quitar tags
« Respuesta #3 en: 24 Julio 2012, 07:06 am »

El tema es que yo no quiero borrar todos los tags, solo quiero borrar los tags strong de las palabras (es decir split(" ")) en las cuales sobresalen caracteres hacia los costados. El resultado tendria que ser:

Si tengo:

asdadssd  asdasdad  asdadsasd   asdasdad asdasdasd

Me tendría que quedar:

asdadssd  asdasdad  asdadsasd   asdasdad asdasdasd

Dado que solo el segundo "asdasdasd" es la unica palabra en todo el string cuyo estilo se propaga por toda la palabra y no toma solo parte de la palabra.

No se si me explico bien, igualmente tal vez tu expresión regular me sea de ayuda. El problema es que para determinar con expresiones regulares, si determinado string precede o no al tag, tendría que usar (?=pattern), pero como resultado terminaria reemplazando los caracteres excedentes y no el tag. :S
En línea

La programación hoy en día es una carrera entre los ingenieros de software intentando construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De momento, el Universo está ganando
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Expresion Regular] Para leer hora y minutos delimitada con ":" ?
PHP
Diabliyo 2 3,914 Último mensaje 26 Septiembre 2012, 08:20 am
por ~ Yoya ~
[javascript] Expresión regular
Scripting
Zinc 1 1,624 Último mensaje 31 Octubre 2012, 09:44 am
por Eleкtro
Expresión regular para buscar palabras con mayúsculas,minúsculas y con Acentos
Programación General
cyberserver 1 2,099 Último mensaje 15 Marzo 2013, 07:41 am
por cyberserver
Expresión regular en MySQL para buscar y sustituir
Desarrollo Web
jdomgo3 9 4,708 Último mensaje 26 Enero 2014, 10:53 am
por jdomgo3
crear funcion para expresion regular
Java
m@o_614 0 1,031 Último mensaje 30 Agosto 2014, 00:39 am
por m@o_614
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines