Foros del Web » Programando para Internet » PHP »

Ayuda con replace()

Estas en el tema de Ayuda con replace() en el foro de PHP en Foros del Web. Hola a todos. Estoy intentando usar replace para reemplazar br por br/ pero no hace el reemplazo, osea deja el br sin modificar. No da ...
  #1 (permalink)  
Antiguo 20/09/2010, 02:02
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 2 meses
Puntos: 15
Ayuda con replace()

Hola a todos.

Estoy intentando usar replace para reemplazar br por br/
pero no hace el reemplazo, osea deja el br sin modificar. No da ningún error.

Código PHP:
Ver original
  1. $texto = str_replace('br','br/',$texto);


También lo he intentado con: preg_replace

Código PHP:
Ver original
  1. $patterns = array();
  2. $patterns[0] = '/<br>/';
  3.  
  4. $replacements = array();
  5. $replacements[0] = '<br/>';
  6.  
  7. $texto = preg_replace($patterns, $replacements, $texto);

como se puede hacer esto?

gracias

Última edición por chefnelone; 20/09/2010 a las 02:08
  #2 (permalink)  
Antiguo 20/09/2010, 02:11
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Ayuda con replace()

A mi si me lo cambia bien, ¿podrías poner aquí el valor de $texto previo?
  #3 (permalink)  
Antiguo 20/09/2010, 02:48
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 2 meses
Puntos: 15
Respuesta: Ayuda con replace()

Cita:
Iniciado por Vun Ver Mensaje
A mi si me lo cambia bien, ¿podrías poner aquí el valor de $texto previo?
el texto lo toma de una tabla de una base de datos (sql). El texto es:
Código:
primero<br>2<br>

La tabla es del Tipo: MyISAM y Collation: utf8_general_ci

El campo que contiene del texto: es de Tipo:text y Collation:utf8_general_ci
  #4 (permalink)  
Antiguo 20/09/2010, 03:24
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Ayuda con replace()

Debe ser otra cosa, pon más codigo, toda la parte donde recojas los datos de la base de datos hasta que hagas el replace y lo muestres por pantalla.
  #5 (permalink)  
Antiguo 20/09/2010, 09:16
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 2 meses
Puntos: 15
Respuesta: Ayuda con replace()

Cita:
Iniciado por Vun Ver Mensaje
Debe ser otra cosa, pon más codigo, toda la parte donde recojas los datos de la base de datos hasta que hagas el replace y lo muestres por pantalla.
en realidad he creado una funcion, este código que dejo debajo no hace el reemplazo:

Código PHP:
Ver original
  1. function limpia_html($texto){
  2.  
  3. $patterns = array();
  4. $patterns[0] = '/<br>/';
  5.  
  6. $replacements = array();
  7. $replacements[0] = '<br/>';
  8.  
  9. return preg_replace($patterns, $replacements, $texto);
  10.  
  11. }
  12.  
  13. $texto = 'primero<br>segunda linea';
  14. echo limpia_html($texto)
  #6 (permalink)  
Antiguo 20/09/2010, 09:26
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Ayuda con replace()

A mi esto me funciona perfectamente:

Código PHP:
function limpia_html($texto){
    return 
str_replace("<br>","</br>",$texto);
}

$texto 'primero<br>segunda linea';
echo 
limpia_html($texto
  #7 (permalink)  
Antiguo 21/09/2010, 02:28
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 2 meses
Puntos: 15
Respuesta: Ayuda con replace()

Cita:
Iniciado por Vun Ver Mensaje
A mi esto me funciona perfectamente:

Código PHP:
function limpia_html($texto){
    return 
str_replace("<br>","</br>",$texto);
}

$texto 'primero<br>segunda linea';
echo 
limpia_html($texto
gracias Vun, debe ser que el texto tomado de la base de datos no es texto normal ...

Saludos

Etiquetas: replace
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 00:37.