[ Foro de PHP ]
Hola buenas, haber si alguien me puede ayudar estoy intentando hacer el ejercicio 8.1 pero no me sale ni a tiros. Este es mi código:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<html>
<body>
<?php
if (!isset($_POST["text"]))
{
?>
<form action="Ejercicio propuesto 8.1.php" method="post">
Introduce un texto: <input name="text" type="text" size="20" > <br />
<input value="Enviar" type="submit"><br />
</form>
<?php
}
else
{
$text=$_POST[text];
function separar ($text)
{
$sep=chunk_split($text, 2, " ");
echo $sep;//MUESTRA EN PANTALLA CON LAS LETRAS SEPARADAS DE DOS EN DOS
echo "<br /><br />";
$sep2=explode(" ", $sep);
print_r($sep2);//MUESTRA EL ARRAY
echo "<br /><br />";
$cont=count($sep2);//CUENTA LA CADENA
echo $cont;//Y MUESTRA LA CUENTA
echo "<br /><br />";
$par=$cont%2==0;
$imp=$cont%2!=0;
for ($i=0; $i<=$cont; $i++)
{
if ($par)
{
echo "<b>".$sep2[$i]."</b>", " ";
echo $sep2[$i+1], " ";
}
else
{
echo "nada";
}
}
}
separar ($text);
}
?>
</body>
</html>
ya lo saque gracias. Esta es la solución por si alguien la necesita:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<html>
<body>
<?php
if (!isset($_POST["text"]))
{
?>
<form action="Ejercicio propuesto 8.1.php" method="post">
Introduce un texto: <input name="text" type="text" size="20" > <br />
<input value="Enviar" type="submit"><br />
</form>
<?php
}
else
{
$text=$_POST[text];
function texto($text)
{
$pos;
$cont=strlen($text);
for ($i=1; $i<=$cont; $i++)
{
if ($i%2!=0)
{
echo "<b>".$text[$pos]."</b>";
}
else
{
echo $text[$pos], " ";
}
$pos++;
}
}
texto($text);
}
?>
</body>
</html>
Supongo que te refieres a este:
Crea una función que reciba un texto y lo escriba separando cada par de letras con un espacio. Las letras impares (primera, tercera, etc.) deben estar en negrita, pero las pares no.
Si es así, tu solución está bien, salvo que no necesitas "$pos" si ya tienes "$i" y que no es recomendable que los nombres de las páginas contengan espacios. El nombre "texto" para la función también es poco claro, pero la lógica es buena.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)