function brainfuck_generate($o) { $ret = "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>"; $a = array(0, 70, 100, 30, 10); $p = 1; for ($i = 0; $i < strlen($o); $i++) { $c = ord($o{$i}); $diff = 255; for ($j = 0; $j < sizeof($a); $j++) { if (abs($c - $a[$j]) < abs($diff)) { $w = $j; $diff = $c - $a[$j]; } } if ($w > $p) $ret .= str_repeat('>', $w - $p); else $ret .= str_repeat('<', $p - $w); $p = $w; if ($diff > 0) $ret .= str_repeat('+', $diff); else $ret .= str_repeat('-', abs($diff)); $a[$w] += $diff; $ret .= "."; } return $ret; }