Foros del Web » Programando para Internet » PHP »

Texto {} a variable

Estas en el tema de Texto {} a variable en el foro de PHP en Foros del Web. Hola he visto en algunos lados este tipo de variable, por ejemplo debes armar como quieres una cadena con datos dinamicos entonces en input pones ...
  #1 (permalink)  
Antiguo 10/11/2014, 01:09
Avatar de ilen  
Fecha de Ingreso: febrero-2009
Mensajes: 125
Antigüedad: 15 años, 2 meses
Puntos: 2
Mensaje Texto {} a variable

Hola he visto en algunos lados este tipo de variable, por ejemplo debes armar como quieres una cadena con datos dinamicos entonces en input pones algo como esto:

hola yo me llamo {name}, y quiero un {product} que me cuesta {valor}

entonces tenemos 3 parametros que el usuario puede manipular y son {name},{product} y {valor} ahora cuando lo guardan se guarda asi en cadena pero al momento de presentar obviamente {name} tiene que presentar un nombre pero alli viene mi pregunta.

Como puedo hacer para convertir esas cadenas con {} en variables que tengan un dato al momento de presentarlos. Alguien ha realizado algo parecido ?? Si me entienden....
  #2 (permalink)  
Antiguo 10/11/2014, 03:18
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 9 años, 7 meses
Puntos: 14
Respuesta: Texto {} a variable

Esto suele ser utilñizado por sistemas de plantillas. Por ejemplo, Smarty usa algo parecido ({$variable})

http://www.smarty.net/

Creo que también foros en phpBB lo utiliza en sus plantillas:

https://www.phpbb.com/

Por tanto, no es algo propio de PHP.
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.
  #3 (permalink)  
Antiguo 10/11/2014, 17:27
Avatar de ilen  
Fecha de Ingreso: febrero-2009
Mensajes: 125
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Texto {} a variable

Si he usado smarty y esto no tiene que ver con aquello, estoy seguro que hay una manera de interpretar esas llaves.....
  #4 (permalink)  
Antiguo 10/11/2014, 17:31
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Texto {} a variable

Puedes poner un ejemplo de esa rareza que mencionas ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 10/11/2014, 17:34
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Texto {} a variable

Supongo que te refieres a uso de variable con nombres "complejos" entre comillas:
Código PHP:
Ver original
  1. echo "hola $arreglo['mundo']"; //mal
  2. echo "hola {$arreglo['mundo']}"//bien;
  #6 (permalink)  
Antiguo 10/11/2014, 18:02
Avatar de ilen  
Fecha de Ingreso: febrero-2009
Mensajes: 125
Antigüedad: 15 años, 2 meses
Puntos: 2
Busqueda Respuesta: Texto {} a variable

Hola, gracias por la respuesta pero no es lo que busco, lo de la variables si conozco esa situación, acabo de ver como lo hacen..... seria algo asi.

El usuario ingresa el mensaje que quiera motrar con variables de esta manera:

Hola {name}, {remitente} te acaba de llegar un correo el dia {date} ahora para verlo debes dar click en este link {link}

Otro ejemplo de configuración de SEO

{post} | {page}
{category} | {post} {home}

entonces {post}, {} debe ser cambiada por variables ya que el usuario puede configurar el mensaje como el quiera mediante estas variables en el texto, la solución que encontre es la siguiente:

Código PHP:
Ver original
  1. $variables = array(
  2.                 '{blog}'                   => get_bloginfo('name')
  3.                 , '{tagline}'              => get_bloginfo('description')
  4.                 , '{post}'                 => $post_title
  5.                 , '{page}'                 => $post_title
  6.                 , '{page_parent}'          => $parent_title
  7.                 , '{category}'             => $cat_title
  8.                 , '{categories}'           => $cat_titles
  9.                 , '{category_description}' => $cat_desc
  10.                 , '{tag}'                  => $tag_title
  11.                 , '{tag_description}'      => $tag_desc
  12.                 , '{tags}'                 => su_lang_implode(get_the_tags($post_id), 'name', true)
  13.                 , '{daynum}'               => $daynum
  14.                 , '{day}'                  => $day
  15.                 , '{monthnum}'             => $monthnum
  16.                 , '{month}'                => $month
  17.                 , '{year}'                 => $year
  18.                 , '{author}'               => $author['name']
  19.                 , '{author_name}'          => $author['name']
  20.                 , '{author_username}'      => $author['username']
  21.                 , '{author_firstname}'     => $author['firstname']
  22.                 , '{author_lastname}'      => $author['lastname']
  23.                 , '{author_nickname}'      => $author['nickname']
  24.                 , '{query}'                => su_esc_attr(get_search_query())
  25.                 , '{ucquery}'              => su_esc_attr(ucwords(get_search_query()))
  26.                 , '{url_words}'            => $this->get_url_words($_SERVER['REQUEST_URI'])
  27.         );
  28.        
  29.         $title = str_replace(array_keys($variables), array_values($variables), htmlspecialchars($format));

Donde $title contrendra la cadena total ya con las variables dinamicas tipo texto que el usuario introdujo y la variable $format tiene toda la cadena que ingreso el usuario, es una buena utilidad de personalización ;) gracias por la respuesta aunque yo mismo solucione la pregunta. :D

Última edición por ilen; 10/11/2014 a las 21:03

Etiquetas: variable
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 07:42.