2012-02-14 13 views
0

最速各方向への変換方法はありますか?あなたはそれが速いのかどうか知りたい場合はキャメルケースとキャメルケースにハイフンで区切られたハイフンで区切られた

$Hstring = 'hello-world'; 
$CCstring = implode('', array_map('ucwords', explode('-', $Hstring))); 
+6

スクリプトでこれほど頻繁にやっていて、スピードが本当に重要ですか? –

+0

あまり頻繁ではありませんが(70-80回)、最適解が欲しいです。 – thelolcat

+0

最適解は解をあらかじめ計算しておくので、もう問題はありません – Flexo

答えて

1

私はまさにそのパッケージ、公開した:またpackagistでそれを引っ張ることができhttps://github.com/sebastiansulinski/string-converter

を。

希望します。

+0

しかし、srslyあなたはsymfony hipstersのようなコードを書かなくてはなりません。そのすべてがいくつかの機能を持つただ1つのクラスになる可能性があります – thelolcat

+0

この方法でパッケージを構築し、設計パターンに従うことには、十分な理由があります。 –

3
$subject = 'abc-def-xyz'; 
$results = preg_replace_callback ('/-(.)/', create_function('$matches','return strtoupper($matches[1]);'), $subject); 

var_dump($results); 

$subject = 'abcDefXyz'; 
$results = preg_replace_callback ('/([A-Z])/', create_function('$matches','return \'-\' . strtolower($matches[1]);'), $subject); 

var_dump($results); 

EDIT

:現在、私はハイフン・ツー・キャメルケースのためにこれを使用してい

それをプロファイルして、

を特定する必要があります
+0

秒で " 「CamelCase」から「-camel-case」を選択します。 "StringXML"の "-string-x-m-l"も同様です。私は '/.+([A-Z] +)/'を提案します。 upvoteを固定したとき – Kaii

関連する問題