PasswordPhraseGenerator/index2.php
2020-11-03 20:41:46 +01:00

112 lines
2.6 KiB
PHP

<!DOCTYPE html>
<html lang="da">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Sætningsgenerator</title>
<style>
*{margin:0;padding:0;}html{height:100%;}
h1{text-align:center;margin-top:10%;}
span{background: #333;color:#FFF;padding:0.3em;}
</style>
</head>
<body>
<?php
$tal = rand(2,79);
$model = rand(0,1);
$end=array(".","!","?","!?","..."," :-)"," ;-)");
$tegn=$end[array_rand($end)];
$result = "";
$ord = array(
"sub"=>JSON_Decode(file_get_contents('data/navneord.json')),
"ver"=>JSON_Decode(file_get_contents('data/verber.json')),
"adj"=>JSON_Decode(file_get_contents('data/adj.json')),
"pro"=>array("jeg","han","hun","den","det","de","I","vi","du","De"),
"tid"=>array("før","efter","imens","inden"),
"for"=>array("over","under","ved siden af","bag","foran","overfor"));
function rando($arr){
return $arr[array_rand($arr)];
}
function word($cla,$conj=null){
global $ord;
$word = $ord[$cla][array_rand($ord[$cla])]; //rand(0,count($ord[$cla]));
if($conj==null){
return $word;
}else{
return $word[$conj];
}
}
function lego($conj=0){
// 0 = ubestemt ental, eks. "en grim tyr" el. "et dumt æg".
// 1 = bestemt ental, eks. "den grimme tyr" el. "det dumme æg"
// 2 = ubestemt flertal, eks. "ægte tedåser"
// 3 = bestemt flertal, eks. "de rådne æbler"
$main = word("sub");
$desc = word("adj");
if($main[4]=="t"){$neutrum=true;}else{$neutrum = false;}
switch($conj){
case 0:
if($neutrum){
$phrase="et ".word("adj")[1]." ".$main[0];
}else{
$phrase="en ".word("adj")[0]." ".$main[0];
}
break;
case 1:
if($neutrum){
$phrase="det ".word("adj")[2]." ".$main[0];
}else{
$phrase="den ".word("adj")[2]." ".$main[0];
}
break;
case 2:
$phrase=word("adj")[2]." ".$main[2];
break;
case 3:
$phrase="de ".word("adj")[2]." ".$main[2];
break;
}
return $phrase;
}
switch($model){
case 0:
if($tal>1){
$b = lego(2);
}else{
$b = lego(rand(0,1));
}
$c = word("ver",rand(1,4));
$d = word("sub",rando([1,3]));
if(rand(0,1)>0){
$which=rand(1,3);
switch($which){
case 1:
$b = mb_strtoupper($b);break;
case 2:
$c = mb_strtoupper($c);break;
case 1:
$d = mb_strtoupper($d);break;
}
}
$result="$tal $b $c $d$tegn";
break;
case 1:
$a = lego(rando([0,1,3]));
$b = word("ver",rand(1,4));
if($tal>1){$c = word("sub",2);}else{$c = word("sub",rando([1,3]));}
$result = "$a $b $tal $c$tegn";
break;
}
?><h1><span><?=ucwords($result,"|")?></span></h1>
</body>
</html>