Problem bei Chatbefehlen

brx

Grünschnabel
Hallo, ich habe vor Kurzen einen Chat mit Befehlen geschrieben.
Die Befehle funktionieren folgendermaßen:
Die Funktion für Rechte und Anwendung des Befehles
PHP:
# command()
$need[5] = "<b>fehler...</b>";
function command($com_name, $rights, $func) {
global $you, $string, $user, $need;
if ($you['rights'] >= $rights && strpos($string, "/$com_name") === 0) {
$string = $func($string);
} elseif ($you['rights'] < $rights && strpos($string, "/$com_name") === 0) {
print "$need[$rights]";
}
}
So benutze ich diese Funktion:
Code:
command("me", "0", "me");
Jeder Befehl hat eine eigene Funktion:
PHP:
# /me :
function me($str)
{
	global $user, $col_start, $col_end;
	$target = getTarget($str);
	print "<div><i>$user $col_start$target$col_end</i></div>";
}
Der Text der hinter "/me" erscheint funktioniert damit:
PHP:
function getTarget($str)
{
	$str= strstr($str, " ");
	$str = substr($str, 1);
	$str = htmlspecialchars($str);
	return $str;
}

Jetzt mein Problem, wenn ich jetzt Beispielsweise den Befehl "/me" habe, und noch einen andeen Befehl der "/mee" heißt, ich diesen aufrufen will, so rufe ich "/me" auf. Wie kann ich es durchsetzten, dass bei "/me" der richtige Befehl kommt und bei "/mee" der richtige Befehl?
Danke!
 
Zuletzt bearbeitet:
Hallo @brx

Prüf einfach zuerst nach /mee und dann erst nach /me ;)
Dann funktioniert das wunderbar.
Wenn du einen Schritt weiter gehen willst, kannst du auch einfach das Zeichen dahinter auch noch mitprüfen. Sei es ein : oder ein Leerzeichen oder was auch immer.

Grüße SimonErich
 
Zurück