1 개요[ | ]
- 함수 kebab_case()
2 PHP[ | ]

PHP
Copy
function kebab_case($value) {
if (ctype_lower($value)) return $value;
$value = preg_replace('/[\s]+/u', '', ucwords(str_replace('_','-',$value)));
return mb_strtolower(preg_replace('/(.)(?=[A-Z])/u', '$1-', $value), 'UTF-8');
}
$samples = ['foo_bar', 'Foo Bar', 'FooBar', 'fooBar', 'foo bar', 'foo-bar', 'Foobar', 'FOOBAR'];
foreach( $samples as $sample ) {
echo $sample." → ".kebab_case($sample) . PHP_EOL;
}
# foo_bar → foo-bar
# Foo Bar → foo-bar
# FooBar → foo-bar
# fooBar → foo-bar
# foo bar → foo-bar
# foo-bar → foo-bar
# Foobar → foobar
# FOOBAR → f-o-o-b-a-r
3 Python[ | ]

Python
Copy
import re
def kebab_case(s):
return re.sub(r"[-_ ]+","-",re.sub(r"^-","",re.sub(r"([A-Z])", r"-\1",s))).lower()
samples = ['foo_bar', 'Foo Bar', 'FooBar', 'fooBar', 'foo bar', 'foo-bar', 'Foobar', 'FOOBAR']
for sample in samples:
print(sample, '→', kebab_case(sample))
# foo_bar → foo-bar
# Foo Bar → foo-bar
# FooBar → foo-bar
# fooBar → foo-bar
# foo bar → foo-bar
# foo-bar → foo-bar
# Foobar → foobar
# FOOBAR → f-o-o-b-a-r
4 같이 보기[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.
- 분류 댓글:
- Python (25)
- PHP (8)
리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― Jmnote리눅스 Python 2.7 컴파일 설치 ― ㅇㅇㅇ미운코딩새끼 ― 승호 도령미운코딩새끼 ― 불탄고등어미운코딩새끼 ― 김레이미운코딩새끼 ― 호박이미운코딩새끼 ― Junhg0211미운코딩새끼 ― 김왼손미운코딩새끼 ― 용딘이미운코딩새끼 ―Pinkcrimson
유기농냠냠파이썬 ― 호박유기농냠냠파이썬 ― 이에스유기농냠냠파이썬 ― 이승현파이썬 global ― Jmnote파이썬 global ― John Jeong파이썬 global ― Jmnote파이썬 global ― John Jeong파이썬 global ― John Jeong파이썬 global ― John Jeong파이썬 global ― Jmnote파이썬 global ― John Jeong