05-06-2011, 11:53 AM
(Modification du message : 05-06-2011, 11:55 AM par Sephi-Chan.)
Je n'ai pas la version PHP de ce que tu demandes, mais voici la version Ruby qui te permettra peut-être de comprendre comment utiliser une regexp relativement simple.
La plupart des instructions peuvent être portée ligne par ligne en PHP, la seule inconnue pour moi, c'est l'écriture de la regexp et la capture des éléments inscrits dans les parenthèses parenthèses capturantes.
Voilà, si ça peut t'aider ! ^^
La plupart des instructions peuvent être portée ligne par ligne en PHP, la seule inconnue pour moi, c'est l'écriture de la regexp et la capture des éléments inscrits dans les parenthèses parenthèses capturantes.
message = "/whisper pseudo Mon message qui tue."
message = "/y Endive !!!"
message = "/sell pseudo épée 30 Tu la veux ma grosse épée ?"
matches = /\/([a-z]+) (.+)/.match(message)
if matches
command = matches[1] # "mp"
arguments = matches[2] # "pseudo Mon message qui tue."
case command
when 'w', 'whisper'
# Commande pour chuchoter.
# Arguments : destinataire, message.
# Je sépare mes arguments selon les espaces en spécifiant que je ne veux
# que 2 groupes. Du coup, le message ne sera pas séparé mot par mot.
split_arguments = arguments.split(' ', 2)
target = split_arguments[0]
message = split_arguments[1]
# ...
when 'y', 'yell'
# Commande pour crier.
# Arguments : message.
message = arguments
# ...
when 'sell'
# Commande pour vendre un objet.
# Arguments : destinataire, objet, prix, [message].
split_arguments = arguments.split(' ', 4)
target = split_arguments[0]
item = split_arguments[1]
price = split_arguments[2]
message = split_arguments[3] || ""
# ...
else
# Commande non reconnue.
end
end
Voilà, si ça peut t'aider ! ^^