You could use a regular expression (which will probably be slower to process) but will look quite lovely.
PHP Code:
<?php
// Pattern will match any letter (a-z or A-Z), space or "-"
$pattern = '/^[a-z -]+$/i';
if(preg_match($pattern, $_POST['example']))
{
echo 'Yup, it\'s a match!';
}
else
{
echo 'The field contains illegal characters.';
}
?>
I haven't tested it but I'm pretty sure that's right. :S