mi sembra normale...
con
tu stai dicendo che le parole proibite sonoCodice PHP:
array ("mel(a|e)","per(a|e)","''");
"mel(a|e)" e "per(a|e)"
quindi quando poi fai il confronto a meno che tu non abbia scritto proprio "mel(a|e)" non lo riconoscerà
forse tu volevi usare delle espressioni regolari, quindi dai uno sguardo qui:
http://php.net/manual/en/function.preg-match.php