[ Foro de PHP ]

Ejercicio propuesto 8.1

27-Oct-2015 13:52
Invitado (Iván)
2 Respuestas

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>


 


27-Oct-2015 19:18
Invitado (ivan)

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>


 


31-Oct-2015 00:02
Nacho Cabanes (+84)

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.)