Tu solucion no me sirve por el hecho de que necesito meter HTML entre el array para poder darle CSS al mismo.
Quizas si me explico un poco, me puedas ayudar mejor.
Primero que nada, no se mucho de PHP, asi que hago las cosas "como salen"
Tengo un sitio de juegos y uso WP. Para poner las teclas con que se juega dicho juego, uso un custom field llamado "teclas" donde meto los datos de la siguiente forma:
PHP:
$ejemplo1 = "mouse1,Disparar-mouse2,Mirar alrededor-mousemove,Moverse-E,Accion 1-B,accion 2-C,accion 3-WASD,Movimiento-ASD,Test varias teclas-→←,Disparar-bar,Saltar-↑↓,test-A+B,Algo-V+H,Otra cosa-C+D,Otra cosa";
Tengo 5 condiciones:
- Si es mouse 1, mouse2, bar (barra espaciadora), mousemove (mover mouse) > if 1
- Si es combinacion de teclas, por ejemplo A+B > elseif 2
- Si es una tecla "especial", por ejemplo → (esto lo hice asi porque no se me ocurria otra forma) > elseif 3
- Si es una mas de una tecla > elseif 4
- Otras, por ejemplo una sola tecla > elseif 5
Cada imagen es de fondo que viene del CSS (por eso hago tanto lio)
PHP:
# Mostramos teclas si estan puestas.
if ($teclas != '') {
# Separa las secciones que estan delimitadas por guion.
$teclasexplode = explode('-',get_post_meta($post->ID, 'teclas', true));
# Separa los elementos segun el orden en el que estan por coma.
foreach ($teclasexplode as $teclasind) {
$salida[] = explode(',',$teclasind); }
# Hacemos echo de todas las teclas con el formato correcto
foreach( $salida as $s ) {
if ($s[0] == 'mouse1' || $s[0] == 'mouse2' || $s[0] == 'mousemove' || $s[0] == 'bar' ) // Mouse left click, mouse right click, mouse move and space bar
{ echo '<div class="key_wr"><div class="key '.$s[0].'"></div><span>'.$s[1].'</span></div>'; }
elseif (strstr($s[0], '+')) { $salida5[] = explode("+",$s[0]); // Arrows
echo '<div class="key_wr">';
foreach( $salida5 as $sssss ) { echo '
'.$sssss[0].' + '.$sssss[1].'<br />'; }
echo '</div>';}
elseif (strstr($s[0], '&')) { $salida4 = str_split($s[0], 6); // Arrows
echo '<div class="key_wr">';
foreach( $salida4 as $ssss ) { echo '
<div class="key anykey">'.$ssss.'</div>'; }
echo '<span>'.$s[1].'</span></div>'; }
elseif (strlen($s[0]) >= '2') { $salida3 = str_split($s[0]); // KeyS
echo '<div class="key_wr">';
foreach( $salida3 as $sss ) { echo '
<div class="key anykey">'.$sss.'</div>'; }
echo '<span>'.$s[1].'</span></div>'; }
else { echo '<div class="key_wr"><div class="key anykey">'.$s[0].'</div><span>'.$s[1].'</span></div>'; } // Key
}
echo '<div class="clear"></div>'; }
El echo de todo ese quilombo deberia ser algo asi (estan todas bien salvo por la parte de combinacion de teclas que es lo que no me sale y el motivo de este post)
Espero se entienda mejor ahora je.
Gracias!