Foros del Web » Programando para Internet » PHP »

modificar cadena con etiquetas html pero sin tocar las etiquetas

Estas en el tema de modificar cadena con etiquetas html pero sin tocar las etiquetas en el foro de PHP en Foros del Web. Imaginemos que tenemos esta cadena: Código PHP: $cadena = 'Esto es una <span title="título">cadena</span>' ;  Hay alguna forma para que, por ejemplo, si quisiésemos pasar la cadena a mayúsculas ...
  #1 (permalink)  
Antiguo 10/06/2010, 09:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 2 meses
Puntos: 0
modificar cadena con etiquetas html pero sin tocar las etiquetas

Imaginemos que tenemos esta cadena:

Código PHP:
$cadena='Esto es una <span title="título">cadena</span>'
Hay alguna forma para que, por ejemplo, si quisiésemos pasar la cadena a mayúsculas se pasase toda la cadena sin tocar lo que son las etiquetas en si? Es decir, que quedase:

Código PHP:
$cadena='ESTO ES UNA <span title="título">CADENA</span>'
Porque si simplemente hiciese strtoupper($cadena) quedaria

Código PHP:
$cadena='ESTO ES UNA <SPAN TITLE="TÍTULO">CADENA</span>'
y eso no es lo que busco
  #2 (permalink)  
Antiguo 10/06/2010, 09:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: modificar cadena con etiquetas html pero sin tocar las etiquetas

pues funciones existentes no hay, bien podrías implementar una... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/06/2010, 09:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: modificar cadena con etiquetas html pero sin tocar las etiquetas

En eso estoy ou eso intento hehe, pero me pareció que algo así ya debería de existir y no se trata de reinventar la rueda ;)
  #4 (permalink)  
Antiguo 10/06/2010, 10:43
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: modificar cadena con etiquetas html pero sin tocar las etiquetas

mira esto logre.. no es perfecto pero quiza te sirva

Código PHP:
Ver original
  1. <?php
  2. function notags($cadena, $function){
  3.     $patterns = array('/>(.+?)</s', '/^(.+?)</s', '/>([^>]+?)$/s');
  4.     return preg_replace_callback($patterns, create_function('$matches', 'return '.$function.'($matches[0]);'),$cadena);
  5. }
  6. $cadena='Esto es una <span title="titulo">cadena</span>';
  7. echo notags($cadena, "strtoupper");
  8. ?>

me costo bastante ingeniarme eso te dire xD!
saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 10/06/2010, 15:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 5
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: modificar cadena con etiquetas html pero sin tocar las etiquetas

muchas gracias, seguro que me sirve

yo lo intentaba hacer con strpos y tal
  #6 (permalink)  
Antiguo 10/06/2010, 15:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: modificar cadena con etiquetas html pero sin tocar las etiquetas

Añado otra forma de lograrlo
Código PHP:
Ver original
  1. <?php
  2. $cadena = 'Esto es una <span title="titulo">cadena</span>';
  3. $cadena = mb_strtoupper($cadena);
  4. $cadena = stripslashes(preg_replace('/(<[^>]*>)/e', "mb_strtolower('$1')", $cadena));
  5. echo $cadena;
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: etiquetas, html, modificar, cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:43.