If you like to use camel notation, the following functions might be useful.
function camel2human($text) {
return ucfirst(preg_replace('/([a-z])([A-Z])/', '\1 \2', $text));
}
function human2camel($text) {
if (!isset($text[0])) {
return '';
}
$text = ucwords(strtolower($text));
$text = preg_replace('/[^a-zA-Z0-9]/', '', $text);
$text[0] = strtolower($text[0]);
return $text;
}
And for an example of their usage...
echo camel2human('exampleCamelText');
// OUTPUT: Example Camel Text
echo camel2human('articleTopic');
// OUTPUT: Article Topic
echo human2camel('Example Camel Text');
// OUTPUT: exampleCamelText
echo human2camel('Article - Topic');
// OUTPUT: articleTopic
This could be used on blogging software, where you can use the title of a post and pass it though the "human2camel" function to generate the pages URL.
Please note that these functions do not play well with capitalised abbreviations, as each capitalised letter represents the beginning of a new word.
Any feedback would be greatly appreciated. If you would like to use this code, please read the licence it is released under.