Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] str_replace() array vacio por array con datos?

Estas en el tema de str_replace() array vacio por array con datos? en el foro de PHP en Foros del Web. Hola, estoy haciendo carga de notas con un sistema hecho con Jeditable y como necesito convertir notas de castellano a italiano, tengo el siguiente parámetro, ...
  #1 (permalink)  
Antiguo 02/12/2016, 09:38
Avatar de alebulo  
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta str_replace() array vacio por array con datos?

Hola, estoy haciendo carga de notas con un sistema hecho con Jeditable y como necesito convertir notas de castellano a italiano, tengo el siguiente parámetro, que funciona perfecto:
Código PHP:
<?php echo $id ?>"><?php $str $row["tcorpo"];
$a = array('E','MB','B','S','NS'); $b = array('O','D','B','S','NS');
$resultado str_replace($a,$b,$str); echo "" $resultado;?>
en donde "tcorpo" esta en BD cargado anteriormente, y es un valor entre E, MB, B, S y NS y se convierte en O, D, B, S, NS, respectivamente para mostrarlo en la libreta...

El tema es que quiero colocar en ese array principal ($a), que detecte que, cuando no no hayan cargado datos, me agregue 3 espacios, porque sino me deforma la presentación y armado final de la libreta, si no cargan ninguna nota......
Hice lo siguiente
Código PHP:
$a = array('','E','MB','B','S','NS'); $b = array('&nbsp;&nbsp;&nbsp;','O','D','B','S','NS'); 
Hasta probé
Código PHP:
$a = array(); $b =array('&nbsp;&nbsp;&nbsp;'); 
Pero no funciona nada...... alguna solución para este pobre, sera bien recibida, muchisimas gracias

Última edición por alebulo; 02/12/2016 a las 10:39
  #2 (permalink)  
Antiguo 02/12/2016, 11:53
Avatar de Fylux  
Fecha de Ingreso: junio-2012
Mensajes: 141
Antigüedad: 12 años, 4 meses
Puntos: 9
Respuesta: str_replace() array vacio por array con datos?

¿Has considerado comprobar si la cadena está vacía antes de hacer la sustitución y en ese caso darle de valor 3 espacios?

Saludos.
__________________
Si todos escribiéramos sin faltas de ortografía, el mundo sería un lugar mejor.
  #3 (permalink)  
Antiguo 03/12/2016, 01:15
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 10 años
Puntos: 91
Respuesta: str_replace() array vacio por array con datos?

y por k no pruebas a imprimir el resultado de la variable row?

Código PHP:
Ver original
  1. <?php echo $id ?>"><?php $str = $row["tcorpo"];
  2. $a = array('E','MB','B','S','NS'); $b = array('O','D','B','S','NS');
  3. $resultado = str_replace($a,$b,$str); echo "" . $resultado;?>

Imprime el valor haber si la variable contiene el string, si te muestra texto debe de haber otra razón por la cual te da error
Código PHP:
Ver original
  1. <?php echo $str; ?>

y si no prueba a poner un texto estatico
Código PHP:
Ver original
  1. <?php echo $id ?>"><?php $str = 'HOLA MUNDO DE ANGEL';
  2. $a = array('E','MB','B','S','NS'); $b = array('O','D','B','S','NS');
  3. $resultado = str_replace($a,$b,$str); echo "" . $resultado;?>
  #4 (permalink)  
Antiguo 05/12/2016, 10:45
Avatar de alebulo  
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: str_replace() array vacio por array con datos?

Na, me quiero matar....el problema era éste, me faltó poner mas código en la muestra:
Código PHP:
<td><div class="texxxt" align="center" id="toralidad-<?php echo $id ?>"><?php $str $row["toralidad"];
$a = array('E','MB','B','S','NS'); $b = array('O','D','B','S','NS');                                                                                                                                                                        
$resultado str_replace($a,$b,$str); echo "" $resultado;?></div></td>
Como verán, estuve haciendo pruebas y le puse dos x más a la class="text" y me olvidé de sacarlas... por defecto, en el jeditable.js que es donde tengo los 3 espacios asignados a los campos vacios, si los ponía en otros campos de textos de otras planillas...perdón por la perdida de tiempo, gracias!!!!

Etiquetas: empty
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 13:15.