Uncamel The Camels!


Keep everything CamelCased in the database, but Uncamel The Camels when the page is output.

The following code is designed to be used with the OnPageLoadAction. Look there for examples.

Save the following as actions/uncamel.php...

<?php

if (!function_exists('uncamel'))
{
    function uncamel($matches)
    {
        $text = preg_match_all('/([A-Z][^A-Z]*)/', $matches[2], $words) ? join(' ', $words[1]) : $matches[2];
        return "<a$matches[1]>$text</a>";
    }
}
$this->page['body'] = preg_replace_callback('|<a([^>]+)>(.*)</a>|smU', 'uncamel', $this->page['body']);

?>


Authors


DennyShimkoski


CategoryUserContributions
Comments
Comment by MyTreo
2006-05-09 15:34:44
Thanks for the mod, I applied it and it works nicely.

The only thing is I have found it cutting apart words like short uppercase acronyms and abbreviations in links. No biggy but any idea of how to fix this would be cool :)
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki