diff --git a/src/Symfony/Component/Serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php b/src/Symfony/Component/Serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php index 861c37b349..b6c6284093 100644 --- a/src/Symfony/Component/Serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php +++ b/src/Symfony/Component/Serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php @@ -44,19 +44,7 @@ class CamelCaseToSnakeCaseNameConverter implements NameConverterInterface public function normalize($propertyName) { if (null === $this->attributes || in_array($propertyName, $this->attributes)) { - $lcPropertyName = lcfirst($propertyName); - $snakeCasedName = ''; - - $len = strlen($lcPropertyName); - for ($i = 0; $i < $len; ++$i) { - if (ctype_upper($lcPropertyName[$i])) { - $snakeCasedName .= '_'.strtolower($lcPropertyName[$i]); - } else { - $snakeCasedName .= strtolower($lcPropertyName[$i]); - } - } - - return $snakeCasedName; + return strtolower(preg_replace('/[A-Z]/', '_\\0', lcfirst($propertyName))); } return $propertyName;