Ok, I got the url to match contact-us-whatever%20I want but it will only work if I use a - character to separate each capture. Not sure why.
So now I want to capture the data, but I think I'm barking up the wrong tree here. This works so far, but what if the user posts a - character in their email address or their message? That will knacker my contact us script.
$url = $_SERVER['REQUEST_URI'];
$url = str_replace (SITE,'',$url);
// contact-us-Joe-Bloggs-anything I want here!!)(*&^
// Array (  => contact-us-Joe-Bloggs-anything%20I%20want%20here!!)(*&%5E [fname] => Joe  => Joe [sname] => Bloggs  => Bloggs [message] => anything%20I%20want%20here!!)(*&%5E  => anything%20I%20want%20here!!)(*&%5E )
But for some reason if I add in -(?P<email>.*+) before the message, the script doesn't work.