[Ajuda] Remover colchetes de uma Variável em PHP

  • Autor Autor hamiltonbl
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
H

hamiltonbl

Eta
Hola, Me explico, Tengo un texto con este formato: [AquiHayTexto], el problema es que este texto esta guardada en una variable llamada: $Nombre.


Comunmente para eliminar caracteres que uno no quiera se utiliza:


Inserir CODE, HTML ou PHP:
<?php
$cadena = 'Hola Aqui [Hay] Texto';
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);

echo $cadena;

Haciendo esto ya he eliminado los dos corchetes que hay por fuera de la palabra "Hay", Pero en este ejemplo lo hice con texto statico... Mi problema esra cuando coloco la variable en lugar del texto, pues me manda error que dice: array

Inserir CODE, HTML ou PHP:
<?php
$cadena = [B]$Nombre;[/B]
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);

echo $cadena;

Haciendolo de esta forma no me sirve, me manda un mensaje que dice 'array', Alguien sabe como solucionar esto.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
¿Cuál es el valor de $Nombre?, mostrame en que parte de asigna así te digo que pasa, lo más probable es que sea un array.
 
Seguramente sea un array y tienes que indicar que posición quieres obtener el valor.
Esto funciona:

PHP:
<?php
$Nombre = 'Hola Aqui [Hay] Texto';

$cadena = $Nombre;
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);

echo $cadena;
?>



Esto no:




PHP:
<?php
$Nombre[0] = 'Hola Aqui [Hay] Texto';
$Nombre[1] = 'Hola Aqui [Hay] Texto';

$cadena = $Nombre;
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);

echo $cadena;
?>

ERROR
E_NOTICE : type 8 -- Array to string conversion -- at line 9
Array


Esto SI:


PHP:
<?php
$Nombre[0] = 'Hola Aqui [Hay] Texto';
$Nombre[1] = 'Hola Aqui [Hay] Texto';

$cadena = $Nombre[0];
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);

echo $cadena;
?>
 
¿Cuál es el valor de $Nombre?, mostrame en que parte de asigna así te digo que pasa, lo más probable es que sea un array.

Te explico, el valor de $Nombre se extrae de un custum fields, un campo adicional en la entrada de wordpress, y lo mando a llamar asi:

Inserir CODE, HTML ou PHP:
<?php 
$Nombre= get_post_custom_values("nombress"); if($Nombre[0] != NULL) echo $Nombre[0]; else echo 'No Hay Ningun Nombre Disponible';

$cadena = $Nombre;
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);


echo $cadena;
 ?>

Haciendo eso solamente me sale esto: [B]array[/B]
y mi objetivo es que salga: [B]TextoSinCorchete[/B]

- - - Actualizado - - -

Seguramente sea un array y tienes que indicar que posición quieres obtener el valor.
PHP:
<?php
$Nombre[0] = 'Hola Aqui [Hay] Texto';
$Nombre[1] = 'Hola Aqui [Hay] Texto';

$cadena = $Nombre[0];
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);

echo $cadena;
?>


Parce lo hice pero no me funciona igual me sigue saliendo el mensaje de array... Te muestro como lo deje. Como mencione arriba el valor de $Nombre lo estoy extrayendo de un campo adicional.... No se si tendra algun problema.

Inserir CODE, HTML ou PHP:
<?php 
$Nombre[0] = get_post_custom_values("nombress"); if($Nombre[0] != NULL) echo $Nombre[0]; else echo 'No hay Nombres Disponibles'; 




$cadena = $Nombre[0];
$cadena = str_replace("[", "", $cadena);
$cadena = str_replace("]", "", $cadena);


echo $cadena;
?>
 
Última edição:
Prueba asi, aver si resulta...

PHP:
<?php 
$Nombre= get_post_custom_values("nombress"); if($Nombre[0] != NULL) echo $Nombre[0]; else echo 'No Hay Ningun Nombre Disponible';

foreach($Nombre as $k){
  $cadena = $k;
  $cadena = str_replace("[", "", $cadena);
  $cadena = str_replace("]", "", $cadena);


  echo $cadena;
}
 ?>
 
Prueba asi, aver si resulta...

PHP:
<?php 
$Nombre= get_post_custom_values("nombress"); if($Nombre[0] != NULL) echo $Nombre[0]; else echo 'No Hay Ningun Nombre Disponible';

foreach($Nombre as $k){
  $cadena = $k;
  $cadena = str_replace("[", "", $cadena);
  $cadena = str_replace("]", "", $cadena);


  echo $cadena;
}
 ?>

Gracias parce, Asunto resuelto... 😛8:😛8:😛8:😛8:😛8:

Quedo muy agradecido, y haber que día logro regresar el favor.. :encouragement:
 
Gracias parce, Asunto resuelto... 😛8:😛8:😛8:😛8:😛8:

Quedo muy agradecido, y haber que día logro regresar el favor.. :encouragement:

No hay de que, estamos para ayudar :encouragement:
 

Tópicos similares

Voltar
Topo