Foros del Web » Programando para Internet » PHP »

Como eliminar caracteres de una cadena determinada

Estas en el tema de Como eliminar caracteres de una cadena determinada en el foro de PHP en Foros del Web. Hola Tengo la siguiente variable Código PHP: $cadena  =  "hola <font asojfsdj size=\"3\">esto es una prueba" ;  Y quiero eliminar <font asojfsdj size="3">, pero sea cual sea el texto que hay ...
  #1 (permalink)  
Antiguo 05/07/2005, 16:36
 
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 19 años, 10 meses
Puntos: 1
Como eliminar caracteres de una cadena determinada

Hola

Tengo la siguiente variable

Código PHP:
$cadena "hola <font asojfsdj size=\"3\">esto es una prueba"
Y quiero eliminar <font asojfsdj size="3">, pero sea cual sea el texto que hay entre '<' y '>', de forma que quede:

Código PHP:
$cadena "hola esto es una prueba"
Probé con str_replace(), pero tengo que especificar exactamente la cadena a eliminar.

Como puedo hacerlo? Gracias
  #2 (permalink)  
Antiguo 05/07/2005, 17:49
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 20 años, 6 meses
Puntos: 8
Prueba con preg_replace:
Código PHP:
$cadena "hola <font asojfsdj size=\"3\">esto es una prueba"
$cadena preg_replace('/<(.*)?>/is'''$cadena);
echo 
$cadena// La salida será: hola esto es una prueba 
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 05/07/2005, 19:47
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Creo que http://ar.php.net/manual/es/function.strip-tags.php es exactamente lo que buscás
  #4 (permalink)  
Antiguo 06/07/2005, 06:27
 
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 19 años, 10 meses
Puntos: 1
sobre preg_replace

$cadena = preg_replace('/<(.*)?>/is', '', $cadena);

He estado revisando la documentación de preg_replace, pero no indica muy bien cómo se pueden poner los patrones para reemplazar determinado texto, por ejemplo (.*) no aparece, y todo es un poco confuso.

¿Dónde puedo encontrar y aprender cómo generar esos patrones?
  #5 (permalink)  
Antiguo 06/07/2005, 07:53
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 20 años, 6 meses
Puntos: 8
Aquí un pequeño manual sobre expresiones regulares:

http://bulma.net/body.phtml?nIdNoticia=770
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 06/07/2005, 09:40
 
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 19 años, 10 meses
Puntos: 1
otro ejemplo

Me he leido gran parte del artículo de bulma, pero estoy intentando hacer una cosa con patrones y no consigo hacerla:

$cadena = preg_replace('/<(.*)?>/is', '', $cadena);

Supongamos que en la linea anterior, queremos crear excepciones, para que algunos patrones no se eliminen, por ejemplo que <font loquesea> y <script loquesea> no se eliminen, pero el resto que no empiecen por <font y <script si se eliminen.

He estado probando con algo que vi '/D', pero parece que no va, cómo podría hacerlo? Gracias
  #7 (permalink)  
Antiguo 06/07/2005, 09:42
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 3 meses
Puntos: 8
La documentacion de los patrones esta aqui:
http://ar.php.net/manual/en/referenc...ern.syntax.php
  #8 (permalink)  
Antiguo 06/07/2005, 12:07
 
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 19 años, 10 meses
Puntos: 1
sigo sin conseguirlo

He leido bastante, pero sigo sin conseguir:

"Me he leido gran parte del artículo de bulma, pero estoy intentando hacer una cosa con patrones y no consigo hacerla:

$cadena = preg_replace('/<(.*)?>/is', '', $cadena);

Supongamos que en la linea anterior, queremos crear excepciones, para que algunos patrones no se eliminen, por ejemplo que <font loquesea> y <script loquesea> no se eliminen, pero el resto que no empiecen por <font y <script si se eliminen.

He estado probando con algo que vi '/D', pero parece que no va, cómo podría hacerlo? Gracias"
  #9 (permalink)  
Antiguo 07/07/2005, 03:59
 
Fecha de Ingreso: diciembre-2004
Mensajes: 165
Antigüedad: 19 años, 10 meses
Puntos: 1
sigo sin conseguirlo (2)

alguna idea de cómo hacer eso? es que sigo sin conseguirlo
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 21:43.