Foros del Web » Programando para Internet » PHP »

ereg_replace

Estas en el tema de ereg_replace en el foro de PHP en Foros del Web. Hola a todos, Estoy empezando con PHP por un trabajo, y tengo que revisar un panel de control de noticias, que tiene un modo de ...
  #1 (permalink)  
Antiguo 13/03/2006, 13:15
 
Fecha de Ingreso: marzo-2004
Ubicación: Sureste
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
ereg_replace

Hola a todos,

Estoy empezando con PHP por un trabajo, y tengo que revisar un panel de control de noticias, que tiene un modo de edición. Cuando vas a editar la noticia debería aparecer Título, Fecha, Datos, Resumen... El problema está en que según qué noticia se edite aparecen o no la fecha, los datos,...

Es decir, yo edito la noticia1 y me aparecen el título, fecha, datos y resumen. Pero si edito la noticia2 me aparece el título, datos y resumen, pero NO la fecha y la fecha es un dato que existe.

Este sistema está hecho en php y tiene un javascript para insertarle un wysiwyg al escribir y editar la noticia. Para cada una de las variables el código que está puesto es, para la fila de la fecha por ejemplo es:

Código:
 <script language="JavaScript" type="text/javascript">
writeRichText('fechas', '<? $rownoticia[2]=ereg_replace("\n", " ", $rownoticia[2]); $rownoticia[2]=ereg_replace("\r", " ", $rownoticia[2]); print "$rownoticia[2]"; ?>', 100, 200, true, false);
		</script>
Por las pruebas que he estado haciendo parece ser que el problema pueda estar en lo de "\n" que no sé lo que significa, pues cada variable lleva una colección de letras distinta (v,r,t). He estado buscando el significado pero tampoco me aclara mucho la explicación de www.php.net. Y por los foros no acabo de encontrar la respuesta. ¿Alguien podría explicármelo un poquito más claro? ¿Es alguna especie de comodín?

Mil gracias!
  #2 (permalink)  
Antiguo 13/03/2006, 13:20
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
http://mx.php.net/manual/es/function.ereg-replace.php pues lo lo que hace ereg_replace es buscar el salto de linea(\n -como si fuera un "enter") y cuando lo encuentra lo sustituye por un espacio en blanco. Si pusieras el codigo del declaracion de $rownoticia se te podria ayudar de mejor manera.
  #3 (permalink)  
Antiguo 14/03/2006, 06:20
 
Fecha de Ingreso: marzo-2004
Ubicación: Sureste
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
$rownoticia la coge de aquí:


Código:
if (isset ($editar))
	{
	$sentencia = "SELECT * FROM cartelera WHERE id_cartelera=$editar";
	$res_sql = mysql_query($sentencia) or die('Error CARTELERA BUSCAR!');
	$rownoticia = mysql_fetch_array($res_sql);
La función de ereg_replace sí la conozco, lo que no encuentro por ningún lado es por ejemplo lo que me has dicho de "\n", y el resto "\v", "\r", "\t"...

Creo que podría ponerse algo genérico (en lugar de "\n") y de ese modo, hubiera el valor que hubiera de cada variable aparecería para ser reemplazado o no. Como tampoco sé como poner ese valor genérico, no lo puedo probar :(

Gracias!
  #4 (permalink)  
Antiguo 16/03/2006, 04:28
 
Fecha de Ingreso: marzo-2004
Ubicación: Sureste
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
Pues bien, he probado a usar el comodín (.) es decir que quede así:

Código:
		writeRichText('fechas', '<? $rownoticia[2]=ereg_replace(".", " ", $rownoticia[2]); $rownoticia[2]=ereg_replace("\r", " ", $rownoticia[2]); print "$rownoticia[2]"; ?>', 100, 200, true, false);
Lo que pasa es que haciéndolo así, el texto que había anteriormente se borra completamente, y debería conservarse porque si no en lugar de editar lo que estaría haciendo sería escribirlo todo de nuevo. ¿Alguna sugerencia? Mientras sigo buscando otras posibilidades.

¡Gracias!
  #5 (permalink)  
Antiguo 16/03/2006, 04:56
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 4 meses
Puntos: 1
Hola,
por lo que parece la sintaxis de ereg_replace() es corrrecta así que no entiendo por qué no te aparece la fecha. Podrías hacer un print_r() de $rownoticia y nos lo pones, para que veamos que traes de la base de datos.

Código PHP:
print_r($rownoticia); 
A ver si así hacemos algo
__________________
http://www.nosoynadie.net/
  #6 (permalink)  
Antiguo 16/03/2006, 05:56
 
Fecha de Ingreso: marzo-2004
Ubicación: Sureste
Mensajes: 186
Antigüedad: 20 años, 1 mes
Puntos: 0
Esto es lo que aparece. Espero que sirva de ayuda :)

Código:
Array ( [0] => 20 [id_cartelera] => 20 [1] => DE DRUIDAS Y LEYENDAS [titulo] => DE DRUIDAS Y LEYENDAS [2] => 
Fecha: 29 de diciembre, jueves

Hora: 19:00

Entrada: 8 €

[fechas] => 
Fecha: 29 de diciembre, jueves

Hora: 19:00

Entrada: 8 €

[3] => [datos] => [4] => [resumen] => [5] => DE DRUIDAS Y LEYENDAS [titulu] => DE DRUIDAS Y LEYENDAS [6] => 
Data: 2005-12-29

Ordua: 19:00

Sarrera: 8 €

[datak] => 
Data: 2005-12-29

Ordua: 19:00

Sarrera: 8 €

[7] => [datuak] => [8] => [laburpena] => [9] => 20 [posicion] => 20 [10] => Druidas1.jpg [foto] => Druidas1.jpg [11] => 4 [tipo] => 4 )
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 15:20.