From f12b40cc29b5a220c4941e969f299f329a3374eb Mon Sep 17 00:00:00 2001 From: "Daniel St. Jules" Date: Tue, 28 Jul 2015 22:07:04 -0700 Subject: [PATCH] Strip leading dashes and underscores with camelize --- src/Stringy.php | 5 +++-- tests/StringyTest.php | 7 +++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Stringy.php b/src/Stringy.php index 4a3fbe9..18fa6f3 100644 --- a/src/Stringy.php +++ b/src/Stringy.php @@ -134,8 +134,9 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess { $encoding = $this->encoding; $stringy = $this->trim()->lowerCaseFirst(); + $stringy->str = preg_replace('/^[-_]+/', '', $stringy->str); - $camelCase = preg_replace_callback( + $stringy->str = preg_replace_callback( '/[-_\s]+(.)?/u', function ($match) use ($encoding) { return $match[1] ? mb_strtoupper($match[1], $encoding) : ''; @@ -148,7 +149,7 @@ class Stringy implements \Countable, \IteratorAggregate, \ArrayAccess function ($match) use ($encoding) { return mb_strtoupper($match[0], $encoding); }, - $camelCase + $stringy->str ); return $stringy; diff --git a/tests/StringyTest.php b/tests/StringyTest.php index 4a28b31..93bf048 100644 --- a/tests/StringyTest.php +++ b/tests/StringyTest.php @@ -367,10 +367,9 @@ class StringyTestCase extends PHPUnit_Framework_TestCase array('dataRate', 'data_rate'), array('backgroundColor', 'background-color'), array('yesWeCan', 'yes_we_can'), - // array('mozSomething', '-moz-something'), - // array('carSpeed', '_car_speed_'), - // array('myFunction', 'MY FUNCTION'), - // array('SSLError', 'sslError'), + array('mozSomething', '-moz-something'), + array('carSpeed', '_car_speed_'), + array('serveHTTP', 'ServeHTTP'), array('1Camel2Case', '1camel2case'), array('camelΣase', 'camel σase', 'UTF-8'), array('στανιλCase', 'Στανιλ case', 'UTF-8'),