Moin!
Ein netter user hat sich letztens schon die mühe gemacht
;-) Danke.
Mit Regular Expressions wirst Du hier aber nicht weiter kommen. Dir wird wohl nix übrig bleiben, als selbst zu parsen:
<html>
<head>
<script language="JavaScript" type="text/JavaScript" >
var token, pos;
function bbcode() {
token= document.mainform.eingabe.value.match( /(<[^>]+>|[^<]+)/g );
pos= 0;
document.mainform.ausgabe.value= convert_to_bbcode();
}
function convert_to_bbcode( end_tag ) {
var result= '';
while ( pos < token.length ) {
var t= token[ pos++ ];
if ( t.charAt(0) == '<' ) {
var tagname= t.replace( /^<([^\s>]+).*/ , '$1' );
if ( tagname == end_tag ) return result;
switch (tagname) {
case 'div':
var align= t.replace( /^.*\balign="([^"]+)".*/, '$1' );
result+= '[' + align.toUpperCase() + ']' + convert_to_bbcode( '/div' ) + '[/' + align.toUpperCase() + ']';
break;
case 'b':
result+= '[b]' + convert_to_bbcode('/b') + '[/b]';
break;
default:
result+= ' ?? ' + t + ' ?? ';
break;
}
}
else {
result+= t;
}
}
return result;
}
</script>
</head>
<body>
<form method="post" name="mainform" action="http://www.google.de/" onsubmit="return false;">
<textarea id="eingabe" cols="75" rows="10">
<b>
bold
<div align="left">
left
<div align="right">
right
<div align="center">
center
</div>
</div>
</div>
</b>
</textarea>
<button onclick="bbcode()">mach</button>
<textarea id="ausgabe" readonly cols="75" rows="10"></textarea>
</form>
<div id="blinddiv"></div>
</body>
</html>
... nur mal so ins Unreine fantasiert...
-- Skeeve