4

PHPに次の文字列があります。

this-is_a-test

これを次のように変更します。

thisIsATest

したがって、文字列には任意の数のダッシュまたはアンダースコアを含めることができます。文字列をキャメルケース文字列に変更する正規表現関数が必要です。

これはどのように行うことができますか?

4

2 に答える 2

6

使用preg_replace_callback:

$string = 'this-is_a-test';

function toUpper($matches) {
  return strtoupper($matches[1]);
}

echo preg_replace_callback('/[-_](.)/', 'toUpper', $string); // thisIsATest

デモ

于 2012-09-16T17:57:05.157 に答える
6

いや、そのために正規表現は必要ありません。

  • str_replace()句読点をスペースに置き換えます。
  • ucwords()各単語の最初の文字を大文字にします。
  • str_replace()再びスペースを取り除きます。

正規表現を使用できますが、必須ではありません。

于 2012-09-16T17:59:26.337 に答える