22.02.2008, 22:11
(Dieser Beitrag wurde zuletzt bearbeitet: 22.02.2008, 23:52 von litterauspirna.)
Ok ein neues Problem. Ich erstelle wie gesagt einen BBcode Editor und für Zentrierten Text weis ich wie ich es machen muss nur für links und rechts ausgerichteten taxt nicht.
Hier der Code
Also das parsen für alle anderen Sachen passt und klappt wunderbar nur wie muss ich das für links und rechts ausgerichteten text?
Danke
Hier der Code
PHP-Code:
//Javascriptteil
<script type="text/javascript">
<!--
function insert(aTag, eTag) {
var input = document.forms['formular'].elements['text'];
input.focus();
/* für Internet Explorer */
if(typeof document.selection != 'undefined') {
/* Einfügen des Formatierungscodes */
var range = document.selection.createRange();
var insText = range.text;
range.text = aTag + insText + eTag;
/* Anpassen der Cursorposition */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -eTag.length);
} else {
range.moveStart('character', aTag.length + insText.length + eTag.length);
}
range.select();
}
/* für neuere auf Gecko basierende Browser */
else if(typeof input.selectionStart != 'undefined')
{
/* Einfügen des Formatierungscodes */
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
/* Anpassen der Cursorposition */
var pos;
if (insText.length == 0) {
pos = start + aTag.length;
} else {
pos = start + aTag.length + insText.length + eTag.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* für die übrigen Browser */
else
{
/* Abfrage der Einfügeposition */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Einfügen des Formatierungscodes */
var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
}
}
//-->
</script>
<table cellspacing="0" cellpadding="0" width="400" border="0">
<tr>
<td colspan="2">
<a href="#" onClick="insert('[b]', '[/b]')"><img src="grafiken/bold.gif" alt="" width="21" height="20" border="0"></a>
<a href="#" onClick="insert('[i]', '[/i]')"><img src="grafiken/italic.gif" alt="" width="21" height="20" border="0"></a>
<a href="#" onClick="insert('[u]', '[/u]')"><img src="grafiken/underline.gif" alt="" width="21" height="20" border="0"></a>
<a href="#" onClick="insert('[align=center]', '[/align]')"><img src="grafiken/justifycenter.gif" alt="" width="21" height="20" border="0"></a>
<a href="#" onClick="insert('[align=left]', '[/align]')"><img src="grafiken/justifyleft.gif" alt="" width="21" height="20" border="0"></a>
<a href="#" onClick="insert('[align=right]', '[/align]')"><img src="grafiken/justifyright.gif" alt="" width="21" height="20" border="0"></a>
<a href="#" onClick="insert('[li]', '[/li]')"><img src="grafiken/insertorderedlist.gif" alt="" width="21" height="20" border="0"></a>
<a href="#" onClick="insert('[ol]', '[/ol]')"><img src="grafiken/insertunorderedlist.gif" alt="" width="21" height="20" border="0"></a>
</td>
</tr>
<tr>
<td width="330" class="td_forms">
<select name="color" style="background-color: #666666; font-size: 12px;">
<option >Schriftfarbe</option>
<option style="color: #ff0000;" onClick="insert('[color=red]', '[/color]')">Rot</option>
<option style="color: #000000;" onClick="insert('[color=black]', '[/color]')">Schwarz</option>
<option style="color: #ffffff;" onClick="insert('[color=white]', '[/color]')">Weis</option>
<option style="color: #0000FF;" onClick="insert('[color=blue]', '[/color]')">Blau</option>
<option style="color: #00FF00;" onClick="insert('[color=green]', '[/color]')">Grün</option>
<option style="color: #333333;" onClick="insert('[color=gray]', '[/color]')">Grau</option>
<option style="color: #FFFF00;" onClick="insert('[color=yellow]', '[/color]')">Gelb</option>
<option style="color: #FF6600;" onClick="insert('[color=orange]', '[/color]')">Orange</option>
</select>
<select name="size" style="background-color: #666666; color: #000000; font-size: 12px;">
<option >Schriftgröße</option>
<option onClick="insert('[size=8px]', '[/size]')">8px</option>
<option onClick="insert('[size=10px]', '[/size]')">10px</option>
<option onClick="insert('[size=12px]', '[/size]')">12px</option>
<option onClick="insert('[size=14px]', '[/size]')">14px</option>
<option onClick="insert('[size=16px]', '[/size]')">16px</option>
<option onClick="insert('[size=18px]', '[/size]')">18px</option>
<option onClick="insert('[size=20px]', '[/size]')">20px</option>
<option onClick="insert('[size=22px]', '[/size]')">22px</option>
<option onClick="insert('[size=24px]', '[/size]')">24px</option>
</select>
<select name="art" style="background-color: #666666; color: #000000; font-size: 12px;">
<option >Schriftart</option>
<option onClick="insert('[font=arial]', '[/font]')">Arial</option>
<option onClick="insert('[font=Times New Roman]', '[/font]')">Times New Roman</option>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<textarea name="text" cols="45" rows="10"></textarea>
</td>
</tr>
</table>
//PHP Parserteil
<?php
$edSearch=array("#\[b\](.*)\[/b\]#",
"#\[i\](.*)\[/i\]#",
"#\[u\](.*)\[/u\]#",
"#\[li\](.*)\[/li\]#",
"#\[ol\](.*)\[/ol\]#",
"#\[center\](.*)\[/center\]#",
"#\[left\](.*)\[/left\]#",
"#\[right\](.*)\[/right\]#",
"#\[color=(.*?)\](.*)\[/color\]#",
"#\[size=(.*?)\](.*)\[/size\]#"
"#\[font=(.*?)\](.*)\[/font\]#"
);
$edReplace=array("<b>$1</b>",
"<i>$1</i>",
"<u>$1</u>",
"<li>$1</li>",
"<ol>$1</ol>",
"<center>$1</center>",
"<left>$1</left>",
"<right>$1</right>",
"<span style=\"color:$1\";>$2</span>",
"<span style=\"font-size:$1\";>$2</span>"
"<span style=\"font-famaly:$1\";>$2</span>"
);
echo preg_replace($edSearch,$edReplace,$text);
?>
Also das parsen für alle anderen Sachen passt und klappt wunderbar nur wie muss ich das für links und rechts ausgerichteten text?
Danke