2012-09-16 3 views
2

나는 PHP에 다음 문자열이 있습니다변경 URL 슬러그

thisIsATest 

그래서 문자열이 대시 또는 밑줄의 numer에 포함 할 수 있습니다 :

this-is_a-test 

내가 이것 저것을 변경하려면를 . 문자열을 낙타의 경우 문자열로 변경하는 정규식 함수가 필요합니다.

어떻게이 작업을 수행 할 수 있습니까?

답변

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() 다시 공백을 제거하십시오.

정규식을 사용할 수는 있지만 필수는 아닙니다.