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 回答