Hej! Jestem tu nowy i mam mały problem.
Chce napisać funkcje która gdy użytkownik poda jakieś wyrażenie (np. dwieście siedemdziesiąt trzy razy trzy podzielić przez dwa) wyświetli mu działanie jakie powininen wykonać (np. 273*3/2) oraz podać wynik (409.5).
Jak na razie nie moge sobie poradzić z zamianą słów na liczby.
Oto kod który udało mi się wytworzyć, i który działa tylko po części.
$q = $input;
$q = zrob_cyferki($q);
echo $q;
function zrob_cyferki($q) {
/*Podstawowe*/
$q = str_replace('jeden','+1',$q);
$q = str_replace('dwa','+2',$q);
$q = str_replace('trzy','+3',$q);
$q = str_replace('cztery','+4',$q);
$q = str_replace('piec','+5',$q);
$q = str_replace('szesc','+6',$q);
$q = str_replace('siedem','+7',$q);
$q = str_replace('osiem','+8',$q);
$q = str_replace('dziewiec','+9',$q);
$q = str_replace('dziesiec','+10',$q);
$q = str_replace('jedenascie','+11',$q);
$q = str_replace('dwanascie','+12',$q);
$q = str_replace('trzynascie','+13',$q);
$q = str_replace('czternascie','+14',$q);
$q = str_replace('pietnascie','+15',$q);
$q = str_replace('szesnascie','+16',$q);
$q = str_replace('siedemnascie','+17',$q);
$q = str_replace('osiemnascie','+18',$q);
$q = str_replace('dziewietnascie','+19',$q);
$q = str_replace('sto','+100',$q);
$q = str_replace('dwiescie','+200',$q);
$q = str_replace('tysiac','+1000',$q);
$q = str_replace('milion','+1000000',$q);//i tu nie działa już :(
$q = str_replace('miliard','+1000000000',$q);//tak samo...
/*No i reszta*/
$q = str_replace('dzies','*(10^1)',$q);
$q = str_replace('scie','*(10^2)',$q);
$q = str_replace('sta','*(10^2)',$q);
$q = str_replace('set','*(10^2)',$q);
$q = str_replace('tys','*(10^3)',$q);
$q = str_replace('milion','*(10^6)',$q);//i tu nie działa już :(
$q = str_replace('miliar','*(10^9)',$q);
/*Zamiana znaków*/
$q = str_replace('dod','+',$q);
$q = str_replace('plu','+',$q);
$q = str_replace('min','-',$q);
$q = str_replace('ode','-',$q);
$q = str_replace('otw','(',$q);
$q = str_replace('zam',')',$q);
$q = str_replace('pot','^',$q);
$q = str_replace('razy','*',$q);
$q = str_replace('mno','*',$q);
$q = str_replace('podz','/',$q);
$q = str_replace('prze','/',$q);
$alfabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' '];
foreach ($alfabet as $literka) {
$q = str_replace($literka,'',$q);
}
return $q;
}