Php 将url slug更改为驼峰大小写

Php 将url slug更改为驼峰大小写,php,regex,Php,Regex,我在PHP中有以下字符串: this-is_a-test 我想将其更改为: thisIsATest 因此字符串可以包含任意数量的破折号或下划线。我需要一些正则表达式函数,将字符串更改为驼峰大小写字符串 如何做到这一点?使用: 不,你不需要正则表达式 str_replace()将标点符号替换为空格 ucwords()大写每个单词的第一个字母 str_replace()再次删除空格 您可以使用正则表达式,但这不是必需的 $string = 'this-is_a-test'; functio

我在PHP中有以下字符串:

this-is_a-test
我想将其更改为:

thisIsATest
因此字符串可以包含任意数量的破折号或下划线。我需要一些正则表达式函数,将字符串更改为驼峰大小写字符串

如何做到这一点?

使用:


不,你不需要正则表达式

  • str_replace()
    将标点符号替换为空格
  • ucwords()
    大写每个单词的第一个字母
  • str_replace()
    再次删除空格
您可以使用正则表达式,但这不是必需的

$string = 'this-is_a-test';

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

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