• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Übersetzer?

Status
Für weitere Antworten geschlossen.

chuck

Neues Mitglied
Hi
Ist dies mit JS möglich?
Ich brauche:
Ein eingabe Feld:
Dort gibt jetzt jemand ein:
ABC
Jetzt klickt man auf einen button indem steht:
übersetzen:
Jetzt steht darunter:
<img src="url a" alt="b"><img src="url b" alt="b"><img src="url c" alt="<img src="" alt="c">
Und wenn man jetzt in ein drittes Feld
<img src="url a" alt="b"><img src="url b" alt="b"><img src="url c" alt="<img src="" alt="c">
eingibt und auf einen 2ten übersetzungsbutton klickt, kommt dies:
abc
Wäre das möglich?
Wenn ja, wie?
BItte antwortet.
Danke schonmal an alle!!!:-D:-D:-D:-D:-D:-D
 
Werbung:
bitte was willst du???
sorry, aber ich hab kein plan worauf du raus willst...
kannst du das mal bitte nochmal erklären.

( und benutz die code-tags. )

ach ja,mit js lässt sich so ziemlich alles machen...wenn man nur krank genug codet *g*
 
Zuletzt bearbeitet:
bitte was willst du???
sorry, aber ich hab kein plan worauf du raus willst...
kannst du das mal bitte nochmal erklären.

( und benutz die code-tags. )

ach ja,mit js lässt sich so ziemlich alles machen...wenn man nur krank genug codet *g*
Ich möchte das hier:
Input hier gebe ich jetzt abc ein.
Botton jetzt klicke ich
Textarea hier steht jetzt zyx oder auch def
Das heisst aus abc macht javascript zyx oder def oder irgendwas wa ich will.
Jetzt ist da nochne Input box. Da geb ich ein: zyx oder def
Jetzt drücke ich auf einen 2ten Button.
Neue Textarea. hier steht jetzt: abc
 
Werbung:
Du musst als erstes ein Formular erstellen, mit einem Feld, wo der Text eingegeben wird, einen Button zum klicken und einem Feld, für den Übersetzen Text:
HTML:
<form onsubmit="return javascript:translate();">
    <input type="text" id="text_to_translate" />
    <input type="submit" value="&Uuml;bersetzen" />
    <input type="text" id="translated_text" />
</form>
Der JavaScript-Teil muss einfach den Wert aus dem ersten Feld abrufen, ihn verändern und in das zweite Feld eintragen:
PHP:
function translate()
{
    text = document.getElementById('text_to_translate').value;
    /* Hier kommt der Teil, wo du den Text beliebig verändern kannst */
    document.getElementById('translated_text').value = text;
    return false;
}
 
Du musst als erstes ein Formular erstellen, mit einem Feld, wo der Text eingegeben wird, einen Button zum klicken und einem Feld, für den Übersetzen Text:
HTML:
<form onsubmit="return javascript:translate();">
    <input type="text" id="text_to_translate" />
    <input type="submit" value="&Uuml;bersetzen" />
    <input type="text" id="translated_text" />
</form>
Der JavaScript-Teil muss einfach den Wert aus dem ersten Feld abrufen, ihn verändern und in das zweite Feld eintragen:
PHP:
function translate()
{
    text = document.getElementById('text_to_translate').value;
    /* Hier kommt der Teil, wo du den Text beliebig verändern kannst */
    document.getElementById('translated_text').value = text;
    return false;
}
Danke
geht also nur mit php und js?:cry:
 
Nein. Mit Javascript, wie Artemis schon geschrieben hat.
Nur du musst den Code zum Übersetzen selber schreiben.

MFG
Alti
 
Werbung:
ja, so ähnlich. aber mal ne frage, wozu brauchst du das? weil evtl. geht das ganz anders..,wenn du zb etwas verschlüsseln willst, dann würd ichs nicht so machen.
 
ja, so ähnlich. aber mal ne frage, wozu brauchst du das? weil evtl. geht das ganz anders..,wenn du zb etwas verschlüsseln willst, dann würd ichs nicht so machen.
Ja, ich möchte, dass man auf meiner HP nen Text eingibt, und er verschlüsselt wird und andersrum...
aber er soll auf keiner anderen HP entschlüsselt werden können.

 
Werbung:
Wenn du es mit Javascript machst, ist es ein einfaches es zu entschlüsseln.
Und sagen wir es so... Es gibt keine Codierung die nicht geknackt werden kann.
Die (http://de.wikipedia.org/wiki/Enigma_(Maschine)) Enigma galt auch als unknackbar, dennoch wurde die Codierung herausgefunden.

MFG
Alti
muss ja net soooooooooooooooo unknackba sein..
soll nur buchstaben in irgendwelche laaaaaaaaaaangen codes umwandeln und zurück...

 
Wenn du es mit Javascript machst, ist es ein einfaches es zu entschlüsseln.
Und sagen wir es so... Es gibt keine Codierung die nicht geknackt werden kann.
Die (http://de.wikipedia.org/wiki/Enigma_(Maschine)) Enigma galt auch als unknackbar, dennoch wurde die Codierung herausgefunden.

MFG
Alti
Das hat allerdings damit zu tun, dass ein Exemplar davon und die Bücher mit Codes den Amerikanern in die Hände gefallen ist...


Aber das hat nichts mit dem Topic zu tun, sollte nur ma erwähnt werden (:

Also eine Verschlüsselung würde ich mittels Array machen, Wobei der Key der zu übersetzende Buchstabe ist.

Hab mal vor kurzer Zeit etwas vergleichbares gemacht:

HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
 <head>
  <title>Normal --> 1337</title>
  <script type="text/javascript">
  <!--
   window.captureEvents(Event.KEYPRESS);
   window.onkeypress = Ausgabe;
   function Ausgabe (Ereignis) {
    if(Ereignis.which == 13)
     leet();
    }
    var wort = new Object();
    wort["A"] = new Array("@","4","/\\");
    wort["B"] = new Array("!3","8");  
    wort["C"] = new Array("(","<");  
    wort["D"] = new Array("!)");  
    wort["E"] = new Array("3");  
    wort["F"] = new Array("!=");  
    wort["G"] = new Array("6");  
    wort["H"] = new Array("#","]-[");  
    wort["I"] = new Array("1");  
    wort["J"] = new Array("9");  
    wort["K"] = new Array("!<","!{");  
    wort["L"] = new Array("1","!_");  
    wort["M"] = new Array("!\\/!","]\\/[");  
    wort["N"] = new Array("/\\/","/V","!V");  
    wort["O"] = new Array("0","()");  
    wort["P"] = new Array("!°");  
    wort["Q"] = new Array("0_");
    wort["R"] = new Array("!2");  
    wort["S"] = new Array("5");  
    wort["T"] = new Array("7","+");  
    wort["U"] = new Array("[_]");  
    wort["V"] = new Array("\\/");  
    wort["W"] = new Array("\\A/","\\^/");  
    wort["X"] = new Array("><","%");  
    wort["Y"] = new Array("°/");  
    wort["Z"] = new Array("2");
    wort[" "] = new Array(" ");
    wort["."] = new Array(".");
    wort[","] = new Array(",");
    wort["Ä"] = new Array("@3","43","/\\3");
    wort["Ö"] = new Array("03","()3");  
    wort["Ü"] = new Array("[_]3");
    wort[":"] = new Array(":");
    wort["\""] = new Array("\"");
    wort["?"] = new Array("?");
    var erlaubt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ .,ÄÖÜ:\"?";
    function leet(){
    var ausgabe = "";
    var fehler = "";
    var diesmal = false;
    var text = document.getElementById('feld').value;
    text = text.toUpperCase();
    for(a = 0 ; a < text.length ; a++){
     if(erlaubt.indexOf(text.charAt(a) ) == -1){
      document.getElementById('ergebnis').value = "Falsche Eingabe";
      return false;
     }
      var zufall = Math.floor(Math.random()*(wort[text.charAt(a)].length));
      ausgabe += "" + wort[text.charAt(a)][zufall];
    }
   document.getElementById('ergebnis').value = ausgabe;
   }
  //-->
  </script>
 </head>
 <body>
  <div>
   <table>
    <tr>
     <td>Normal:</td>
     <td>Leet:</td>
    </tr>
    <tr>
     <td><input type="text" id="feld" /></td>
     <td><input type="text" readonly="readonly" id="ergebnis" onclick="this.select()" /></td>
    </tr>
   </table>
   <button onclick="document.getElementById('feld').value = '';" style="margin-top:40px;">Eingabe l&ouml;schen</button>
  </div>
  <div style="position:absolute; bottom:0px;">Diese Seite enth&auml;lt valides XHTML 1.0 <br />
  <a href="http://validator.w3.org/check?uri=referer">
  <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" style="border:0px; height:31px; width:88px;" /></a>
  </div>
 </body>
</html>

Das Nachteil wäre nur, dass man 2 Funktionen machen muss, 2 lange arraays und nicht unbedingt jeder Buchstabe benutzt wird.

Alternativ kann man mit sowas versuchen zu arbeiten: http://de.selfhtml.org/javascript/objekte/string.htm#from_char_code
und http://de.selfhtml.org/javascript/objekte/string.htm#char_code_at

bin mir aber nicht sicher, ob das wirklich damit klappen sollte...
 
Werbung:
hey,
wenn das von commodore funzt, dann is das echt toll :) aber halt für einen, der n bissl ahnung hat ein kinderspiel zu knaken, weil man muss ja nur die codierung, die im array steht wieder zusammenfriemeln ...
ich kenn als "gute" verschlüsselung mit javascript eigentlich nur base64...soll recht ok sein.
--> googeln. dazu gibts n haufen fertige scripts

ich hab da mal was rausgesucht :
(ist ein ziemliches monsterscript, es steht aber eine erklärung am anfang dran)
PHP:
/* #############################################################################
UTF-8 Decoder and Encoder
base64 Encoder and Decoder
written by Tobias Kieslich, justdreams
Contact: [email protected]				http://www.justdreams.de/
############################################################################# */

// returns an array of byterepresenting dezimal numbers which represent the
// plaintext in an UTF-8 encoded version. Expects a string.
// This function includes an exception management for those nasty browsers like
// NN401, which returns negative decimal numbers for chars>128. I hate it!!
// This handling is unfortunately limited to the user's charset. Anyway, it works
// in most of the cases! Special signs with an unicode>256 return numbers, which
// can not be converted to the actual unicode and so not to the valid utf-8
// representation. Anyway, this function does always return values which can not
// misinterpretd by RC4 or base64 en- or decoding, because every value is >0 and
// <255!!
// Arrays are faster and easier to handle in b64 encoding or encrypting....
	function utf8t2d(t)
		{
		t = t.replace(/\r\n/g,"\n");
		var d=new Array; var test=String.fromCharCode(237);
		if (test.charCodeAt(0) < 0) 
			for(var n=0; n<t.length; n++)
				{
				var c=t.charCodeAt(n);
				if (c>0)
					d[d.length]= c;
				else {
					d[d.length]= (((256+c)>>6)|192);
					d[d.length]= (((256+c)&63)|128);}
				}
		else
			for(var n=0; n<t.length; n++)
				{
				var c=t.charCodeAt(n);
				// all the signs of asci => 1byte
				if (c<128)
					d[d.length]= c;
				// all the signs between 127 and 2047 => 2byte
				else if((c>127) && (c<2048)) {
					d[d.length]= ((c>>6)|192);
					d[d.length]= ((c&63)|128);}
				// all the signs between 2048 and 66536 => 3byte
				else {
					d[d.length]= ((c>>12)|224);
					d[d.length]= (((c>>6)&63)|128);
					d[d.length]= ((c&63)|128);}
				}
		return d;
		}
		
// returns plaintext from an array of bytesrepresenting dezimal numbers, which
// represent an UTF-8 encoded text; browser which does not understand unicode
// like NN401 will show "?"-signs instead
// expects an array of byterepresenting decimals; returns a string
	function utf8d2t(d)
		{
		var r=new Array; var i=0;
		while(i<d.length)
			{
			if (d[i]<128) {
				r[r.length]= String.fromCharCode(d[i]); i++;}
			else if((d[i]>191) && (d[i]<224)) {
				r[r.length]= String.fromCharCode(((d[i]&31)<<6) | (d[i+1]&63)); i+=2;}
			else {
				r[r.length]= String.fromCharCode(((d[i]&15)<<12) | ((d[i+1]&63)<<6) | (d[i+2]&63)); i+=3;}
			}
		return r.join("");
		}

// included in <body onload="b64arrays"> it creates two arrays which makes base64
// en- and decoding faster
// this speed is noticeable especially when coding larger texts (>5k or so)
	function b64arrays() {
	var b64s='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
		b64 = new Array();f64 =new Array();
		for (var i=0; i<b64s.length ;i++) {
			b64[i] = b64s.charAt(i);
			f64[b64s.charAt(i)] = i;
		}
	}

// creates a base64 encoded text out of an array of byerepresenting dezimals
// it is really base64 :) this makes serversided handling easier
// expects an array; returns a string
	function b64d2t(d) {
		var r=new Array; var i=0; var dl=d.length;
		// this is for the padding
		if ((dl%3) == 1) {
			d[d.length] = 0; d[d.length] = 0;}
		if ((dl%3) == 2)
			d[d.length] = 0;
		// from here conversion
		while (i<d.length)
			{
			r[r.length] = b64[d[i]>>2];
			r[r.length] = b64[((d[i]&3)<<4) | (d[i+1]>>4)];
			r[r.length] = b64[((d[i+1]&15)<<2) | (d[i+2]>>6)];
			r[r.length] = b64[d[i+2]&63];
			if ((i%57)==54)
				r[r.length] = "\n";
			i+=3;
			}
		// this is again for the padding
		if ((dl%3) == 1)
			r[r.length-1] = r[r.length-2] = "=";
		if ((dl%3) == 2)
			r[r.length-1] = "=";
		// we join the array to return a textstring
		var t=r.join("");
		return t;
		}

// returns array of byterepresenting numbers created of an base64 encoded text
// it is still the slowest function in this modul; I hope I can make it faster
// expects string; returns an array
	function b64t2d(t) {
		var d=new Array; var i=0;
		// here we fix this CRLF sequenz created by MS-OS; arrrgh!!!
		t=t.replace(/\n|\r/g,""); t=t.replace(/=/g,"");
		while (i<t.length)
			{
			d[d.length] = (f64[t.charAt(i)]<<2) | (f64[t.charAt(i+1)]>>4);
			d[d.length] = (((f64[t.charAt(i+1)]&15)<<4) | (f64[t.charAt(i+2)]>>2));
		  	d[d.length] = (((f64[t.charAt(i+2)]&3)<<6) | (f64[t.charAt(i+3)]));
		  	i+=4;
			}
		if (t.length%4 == 2)
			d = d.slice(0, d.length-2);
		if (t.length%4 == 3)
			d = d.slice(0, d.length-1);
		return d;
		}
 
Zuletzt bearbeitet:
Das hat allerdings damit zu tun, dass ein Exemplar davon und die Bücher mit Codes den Amerikanern in die Hände gefallen ist...


Aber das hat nichts mit dem Topic zu tun, sollte nur ma erwähnt werden (:

Also eine Verschlüsselung würde ich mittels Array machen, Wobei der Key der zu übersetzende Buchstabe ist.

Hab mal vor kurzer Zeit etwas vergleichbares gemacht:

HTML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
 <head>
  <title>Normal --> 1337</title>
  <script type="text/javascript">
  <!--
   window.captureEvents(Event.KEYPRESS);
   window.onkeypress = Ausgabe;
   function Ausgabe (Ereignis) {
    if(Ereignis.which == 13)
     leet();
    }
    var wort = new Object();
    wort["A"] = new Array("@","4","/\\");
    wort["B"] = new Array("!3","8");  
    wort["C"] = new Array("(","<");  
    wort["D"] = new Array("!)");  
    wort["E"] = new Array("3");  
    wort["F"] = new Array("!=");  
    wort["G"] = new Array("6");  
    wort["H"] = new Array("#","]-[");  
    wort["I"] = new Array("1");  
    wort["J"] = new Array("9");  
    wort["K"] = new Array("!<","!{");  
    wort["L"] = new Array("1","!_");  
    wort["M"] = new Array("!\\/!","]\\/[");  
    wort["N"] = new Array("/\\/","/V","!V");  
    wort["O"] = new Array("0","()");  
    wort["P"] = new Array("!°");  
    wort["Q"] = new Array("0_");
    wort["R"] = new Array("!2");  
    wort["S"] = new Array("5");  
    wort["T"] = new Array("7","+");  
    wort["U"] = new Array("[_]");  
    wort["V"] = new Array("\\/");  
    wort["W"] = new Array("\\A/","\\^/");  
    wort["X"] = new Array("><","%");  
    wort["Y"] = new Array("°/");  
    wort["Z"] = new Array("2");
    wort[" "] = new Array(" ");
    wort["."] = new Array(".");
    wort[","] = new Array(",");
    wort["Ä"] = new Array("@3","43","/\\3");
    wort["Ö"] = new Array("03","()3");  
    wort["Ü"] = new Array("[_]3");
    wort[":"] = new Array(":");
    wort["\""] = new Array("\"");
    wort["?"] = new Array("?");
    var erlaubt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ .,ÄÖÜ:\"?";
    function leet(){
    var ausgabe = "";
    var fehler = "";
    var diesmal = false;
    var text = document.getElementById('feld').value;
    text = text.toUpperCase();
    for(a = 0 ; a < text.length ; a++){
     if(erlaubt.indexOf(text.charAt(a) ) == -1){
      document.getElementById('ergebnis').value = "Falsche Eingabe";
      return false;
     }
      var zufall = Math.floor(Math.random()*(wort[text.charAt(a)].length));
      ausgabe += "" + wort[text.charAt(a)][zufall];
    }
   document.getElementById('ergebnis').value = ausgabe;
   }
  //-->
  </script>
 </head>
 <body>
  <div>
   <table>
    <tr>
     <td>Normal:</td>
     <td>Leet:</td>
    </tr>
    <tr>
     <td><input type="text" id="feld" /></td>
     <td><input type="text" readonly="readonly" id="ergebnis" onclick="this.select()" /></td>
    </tr>
   </table>
   <button onclick="document.getElementById('feld').value = '';" style="margin-top:40px;">Eingabe l&ouml;schen</button>
  </div>
  <div style="position:absolute; bottom:0px;">Diese Seite enth&auml;lt valides XHTML 1.0 <br />
  <a href="http://validator.w3.org/check?uri=referer">
  <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" style="border:0px; height:31px; width:88px;" /></a>
  </div>
 </body>
</html>
Das Nachteil wäre nur, dass man 2 Funktionen machen muss, 2 lange arraays und nicht unbedingt jeder Buchstabe benutzt wird.

Alternativ kann man mit sowas versuchen zu arbeiten: http://de.selfhtml.org/javascript/objekte/string.htm#from_char_code
und http://de.selfhtml.org/javascript/objekte/string.htm#char_code_at

bin mir aber nicht sicher, ob das wirklich damit klappen sollte...
sieht toll aus mit einem Problem:
Kein Submit Botton :D
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben