Zehn
<?php

/**
  This function has still some bugs and shoud be rewritten

  by David Tibbe, 2004/08/03
**/

function parseZahl($nr, $stelle)
{
    
$out = '';
    
$cutted = FALSE;

    if (
$nr > 1)
    {
        
$anz = 1;
    }
    else
    {
        
$anz = 0;
    }

    
$anhang = array(
                 array(
'', ''),
                 array(
'tausend', 'tausend'),
                 array(
'millionen', 'millionen'),
                 array(
'milliarde', 'milliarden'),
                 array(
'billionen', 'billionen'),
                 array(
'billiarde', 'billiarden'),
                 array(
'trillionen', 'trillionen'),
                 array(
'trilliarde', 'trilliarden'),
                 array(
'quadrillionen', 'quadrillionen'),
                 array(
'quadrilliarde', 'quadrilliarden'),
                 array(
'quintillionen', 'quintillionen'),
                 array(
'quintilliarde', 'quintilliarden'),
                 array(
'sextillionen', 'sextillionen'),
                 array(
'sextilliarde', 'sextilliarden'),
                 array(
'septillionen', 'septillionen'),
                 array(
'septilliarde', 'septilliarden'),
                 array(
'oktillionen', 'oktillionen'),
                 array(
'oktilliarde', 'oktilliarden'),
                 array(
'nonillionen', 'nonillionen'),
                 array(
'nonilliarde', 'nonilliarden'),
                 array(
'dezillionen', 'dezillionen'),
                 array(
'dezilliarde', 'dezilliarde')
              );
    
$zahlen = array('', 'ein#', 'zwei',
                    
'drei', 'vier', 'f&uuml;nf',
                    
'sechs', 'sieben', 'acht',
                    
'neun', 'zehn', 'elf',
                    
'zw&ouml;lf', 'dreizehn',
                    
'vierzehn', 'f&uuml;nfzehn',
                    
'sechzehn', 'siebzehn',
                    
'achtzehn', 'neunzehn');
    
$ziger = array('', '', 'zwanzig', 'drei&szlig;ig',
                   
'vierzig', 'f&uuml;nfzig',
                   
'sechzig', 'siebzig',
                   
'achtzig', 'neunzig');

    if (
$nr > 99)
    {
        
$out = $zahlen[$nr{0}].'hundert';
        
$out = str_replace('#', '', $out);

        
$nr = substr($nr, 1, 2);
        
$cutted = TRUE;
    }

    if (
$nr > 19)
    {
        if (
$nr{1} != 0)
        {
            
$out = $out.$zahlen[$nr{1}].'und';
            
$out = str_replace('#', '', $out);
        }
        
$out = $out.$ziger[$nr{0}];
    }
    else
    {
        
$out = $out.$zahlen[(int)$nr];
        
$out = str_replace('#', 'e', $out);
    }

    if (
$out == 'eine')
    {
        if (
$stelle == 1)
        {
            
$out = 'ein';
        }
        else if (
$stelle == 0)
        {
            
$out = 'eins';
        }
    }

    if ((int)
$nr !== 0 || $cutted)
    {
        
$out = $out.$anhang[$stelle][$anz];
    }

    return 
$out;
}


$zahl = $_GET['zahl'];
$part = array();


while (
strlen($zahl) > 2)
{
    
$part[] = substr($zahl, -3);
    
$zahl = substr($zahl, 0, -3);
}

if (!empty(
$zahl))
{
    
$part[] = $zahl;
}

$part = array_reverse($part);

$myStr = '';

for (
$i = 0; $i < sizeof($part); $i++)
{
    
$myStr = $myStr.parseZahl($part[$i], sizeof($part) - $i - 1);
}

$myStr = ucfirst($myStr);

echo 
$myStr.'<hr>';

highlight_file(__FILE__);

?>