2012-09-16 51 views
2

我在PHP以下字符串:更改URL蛞蝓,以駱駝

this-is_a-test 

我想改變這樣的:

thisIsATest 

所以字符串可以包含短劃線或下劃線的任何NUMER 。我需要一些正則表達式函數將字符串更改爲駝峯字符串。

這怎麼辦?

回答

5

使用preg_replace_callback

$string = 'this-is_a-test'; 

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

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

DEMO

+0

不錯的提示,謝謝 –

3

不,你不需要那個正則表達式。

  • str_replace()用空格替換標點符號。
  • ucwords()以大寫字母的單詞的第一個字母。
  • str_replace()再次擺脫空間。

你可以使用正則表達式,但它是沒有必要的。