Moin,
falls keinerlei Verschachtelungen der Begrenzer vorkommen,
kannst Du's so machen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>translit</title>
<meta http-equiv='content-type' content='text/html; charset=iso-8859-1'>
<script type='text/javascript'>
var lit_eng = [ /sh/g, /sch/g, /bI/g, /ya/g, /ja/g, /zh/g, /ch/g, /ye/g,
/je/g, /yu/g, /ju/g, /yo/g, /jo/g, /y/g, /j/g, /u/g,
/k/g, /e/g, /n/g, /g/g, /z/g, /h/g, /~/g, /f/g,
/v/g, /a/g, /p/g, /r/g, /o/g, /l/g, /d/g, /e/g,
/s/g, /m/g, /i/g, /t/g, /'/g, /b/g, /c/g,
/SH/g, /SCH/g, /bI/g, /YA/g, /JA/g, /ZH/g, /CH/g, /YE/g,
/JE/g, /YU/g, /JU/g, /YO/g, /JO/g, /Y/g, /J/g, /U/g,
/K/g, /E/g, /N/g, /G/g, /Z/g, /H/g, /~/g, /F/g,
/V/g, /A/g, /P/g, /R/g, /O/g, /L/g, /D/g, /E/g,
/S/g, /M/g, /I/g, /T/g, /'/g, /B/g, /C/g
],
lit_rus = [ 'ø', 'ù', 'û', 'ÿ', 'ÿ', 'æ', '÷', 'å',
'å', 'þ', 'þ', '¸', '¸', 'é', 'é', 'ó',
'ê', 'å', 'í', 'ã', 'ç', 'õ', 'ú', 'ô',
'â', 'à', 'ï', 'ð', 'î', 'ë', 'ä', 'ý',
'ñ', 'ì', 'è', 'ò', 'ü', 'á', 'ö',
'Ø', 'Ù', 'Û', 'ß', 'ß', 'Æ', '×', 'Å',
'Å', 'Þ', 'Þ', '¨', '¨', 'É', 'É', 'Ó',
'Ê', 'Å', 'Í', 'Ã', 'Ç', 'Õ', 'Ú', 'Ô',
'Â', 'À', 'Ï', 'Ð', 'Î', 'Ë', 'Ä', 'Ý',
'Ñ', 'Ì', 'È', 'Ò', 'Ü', 'Á', 'Ö'
];
function translit( x, y, z )
{ with ( x )
{ var c, i = 0, m = /[[^][]*]|:[^:]*:/g, M = value.match( m ), r = ' b b ';
value = value.replace( m, r );
for ( c in y ) value = value.replace( y[c], z[c] );
if ( M ) while ( M[i] ) value = value.replace( r, M[i++] );
};
};
onload = function(){document.send.newcomment.value =
' jeyujusmit' shSHSCHsch n:jeyujusmit': [shSHSCHsch]nbITESTzwodryfear'
};
</script>
</head>
<body>
<form name='send' action='#'>
<textarea name='newcomment' cols='30' rows='20'></textarea>
<br />
<input type='button' value='translit' onclick='translit(this.form.newcomment, lit_eng, lit_rus)' />
</form>
</body>
</html>gruß
matho