Skip to content

Instantly share code, notes, and snippets.

@henriquemoody
Created December 22, 2011 12:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save henriquemoody/1510150 to your computer and use it in GitHub Desktop.
Save henriquemoody/1510150 to your computer and use it in GitHub Desktop.
Camel case to separator and vice-versa.
<?php
/**
* @param string $string
* @param string $separator
* @return string
*/
function camelCaseToSeparator($string, $separator = '-')
{
return preg_replace('/(?<=[a-z])([A-Z])/', $separator . '$1', $string);
}
/**
* @param string $string
* @param string $separator
* @return string
*/
function separatorToCamelCase($string, $separator = '-')
{
$separator = preg_quote($separator);
return preg_replace("/({$separator})([a-zA-Z])/e", 'strtoupper("$2")', $string);
}
echo camelCaseToSeparator('HenriqueMoodyCarmo') . PHP_EOL;
echo separatorToCamelCase('henrique-moody-carmo') . PHP_EOL;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment