Hab heute einen übersetzter gemacht hier mal der Screenshot
Und der Code , hab alles bestmöglich kommentiert :
Code:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Meine Seite</title>
</head>
<body>
<?php $print='';
#heredoc , erstellt meinen Test-Text
$str = <<<EDO
Das ist ein Text Das ist ein Test
Käse Käse Käse Kuchen !
Dies,ist.noch!ein?spezial-Satz
EDO
?>
<form name="main" method="post" action="trans.php">
<textarea name="TB0" cols="120" rows="10"><?php if (!empty($_POST["send"])&&isset($_POST["send"])) echo($_POST['TB0']); else echo ''.$str; ?></textarea>
<br><input type="submit" value="Translate" name="send"><br>
<?php
if (!empty($_POST["send"])&&isset($_POST["send"]))
{
error_reporting(0);#schaltetfehler ab
#Text teilen und einlesen
$print = $_POST['TB0'];
$i = 0;
$array[]='';$arraypos=0;
for($i = 0;$i<=strlen($print)-1;$i++)
{
if($print[$i]==','||$print[$i]=='-'||$print[$i]=='.'||$print[$i]==' '||$print[$i]=='!'||$print[$i]=="?"||$print[$i]=="\n")// Split zeichen
{
$arraypos += 1; // increment für array position
$array[$arraypos] = '';// Array initialisieren
}else{
if($print[$i]!='"'&&$print[$i]!="'")// Sonderzeichen entfernen
$array[$arraypos] = $array[$arraypos].$print[$i];//zeichen zum array hinzufügen
}
}
for($x1=0;$x1<=$arraypos;$x1++)
{$arrayAnzahl[$x1]=1;#Array zum wörterzählen initialisieren
$array[$x1] = str_replace(' ','',$array[$x1]);# diverse zeichen entfernen
$array[$x1] = str_replace("\n",'',$array[$x1]);
$array[$x1] = str_replace("\r",'',$array[$x1]);
$array[$x1] = str_replace("\t",'',$array[$x1]);
$array[$x1] = str_replace("\0",'',$array[$x1]);
$array[$x1] = str_replace(chr(13),'',$array[$x1]);
$array[$x1] = str_replace(" ",'',$array[$x1]);
}
#Doppelten Wörter Herausnehmen und zählen
for($x1=0;$x1<=$arraypos;$x1++)
for($x2=0;$x2<=$x1-1;$x2++)
if(strtolower($array[$x1])==strtolower($array[$x2]))# strtolower() macht alles zu kleinzeichen
{$array[$x1]='';$arrayAnzahl[$x2]++;}#falls es vorkommt im wortanzahl array +1 und im array entfernen
#tabelle erstellen
echo '<textarea type="textarea" name="TB1" cols="120" rows="20">';
for($i=0;$i<=$arraypos;$i++)
{
if($array[$i]!=''){
$subject = "".file_get_contents('http://dict.leo.org/ende?lp=ende&lang=de&search='.$array[$i],'r');//file_get_contents() ist auf meinem ftp gesperrt ! holt html datei von leo
$starttag = '"ende?lp=ende&p=DJtYAA&search=';#startstring
$endtag = '&trestr=';#endstring
if (false !== ($startpos=strpos($subject, $starttag)) )# gibt die position von $starttag in $subject zurück
{
if (false !== ($endpos=strpos($subject, $endtag, $startpos)) )# gibt die position von $starttag in $subject zurück ,$startpos ist der offset
{
$sp = $startpos+strlen($starttag);#Positionsberechnung
#substr($subject, $sp, $endpos-$sp) schneidet nun den gewünschten bereich von unserem String aus !
echo ($array[$i].' - '.$arrayAnzahl[$i].' -> '.substr($subject, $sp, $endpos-$sp).' ');# ausgabe von original wort , anzahl der wörter und der übersetzung
}
}
}
}
echo '</textarea>';
}
?>
</form>
</body>
</html>
hoffe es ist halbwegs sauber , hab es nur mal schnell runter-geschrieben :)