Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Symboliteksti

DrDeath [16.07.2008 16:05:10]

#

Tein koodin alunperin, koska eräällä foorumilla kirjoitettiin 'symboleilla' lyhyitä sanoja,
jotka kävivät viesti viestiltä aina pidemmiksi enkä halunnut käyttää paljoa aikaa symbolitekstin tuottamiseen.
Viestit tosin päättyivät siihen kun lähetin pitkän tarinan symboleilla kirjoitettuna.

Esimerkki:
symbtext.php?text=Ohjelmointiputka

Välimerkki määritetty:
symbtext.php?s=.&text=Ohjelmointiputka

s on pidempi kuin 1 merkki:
symbtext.php?s=jotain&text=Ohjelmointiputka


*** Poistin tulostukset, koska ne eivät näy putkassa oikein.

symbtext.php

<?php

set_time_limit(10);

$chars = array(
"a"=>"duudnbddbnbssb","b"=>"buudnbsmsnbddu","c"=>"duudnbsssnuddu",
"d"=>"buudnbssbnbddu","e"=>"buunbmsnbdd","f"=>"buunbmsnbss",
"g"=>"duudnbsddnuddu","h"=>"bssbnbmmbnbssb","i"=>"bnbnb",
"j"=>"sssbndssbnuddu","k"=>"bsdunbmssnbsud","l"=>"bsssnbsssnbddd",
"m"=>"budubnbsusbnbsssb","n"=>"bdssbnbsbsbnbssub","o"=>"duuudnbsssbnudddu",
"p"=>"buudnbddunbsss","q"=>"duuudnbsssbnuddbb","r"=>"buudnbddunbsud",
"s"=>"duudnsudsnuddu","t"=>"uubuunssbssnssbss","u"=>"bsssbnbsssbnudddu",
"v"=>"bsssbnbsssbnsudus","w"=>"bsssbnbsssbnududu","x"=>"udsdunssmssndusud",
"y"=>"bsssbnsudusnssbss","z"=>"uuubunssbssndbddd", "."=>"snsnd", "!"=>"bnbnd",
" "=>"snsns");

$replace = array(
"b" => "&#9608;",
"d" => "&#9604;",
"u" => "&#9600;",
"m" => "&#9632;",
"s" => " "
);

/*

&#9608; b
&#9604; d
&#9600; u
&#9632; m
newline n  < Char rendering ends here on a single line.
space   s

*/

$text = strtolower($_GET["text"]);
if (isset($_GET["s"]))
{
	strlen($_GET["s"])> 1 ? $replace["s"] = "&#9617;" : $replace["s"] = $_GET["s"];
}

echo "<pre>";

// Lines
for ($i = 0; $i < 3; $i++)
{
	// Characters from input
	for ($j = 0; $j < strlen($text); $j++)
	{
		$char = substr($text, $j, 1);
		$tmp = explode("n", $chars[$char]);

		// Handle replacements
		for ($k = 0; $k < strlen($tmp[$i]); $k++)
		{
			$rchar = $tmp[$i][$k];
			echo $replace[$rchar];
		}
		if ($j+1 < strlen($text)) echo $replace["s"]; //.$replace["s"];
	}
	if($i < 2) echo "<br />";
}
echo "</pre>";
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta