我正在使用这个函数将驼峰式字符串转换为破折号分隔的字符串:
function camel2dashed($className) {
return strtolower(preg_replace('/([^A-Z-])([A-Z])/', '$1-$2', $className));
}
代码有点用,但当我有这样的字符串时(例如:getADog
),它返回get-adog
,但我想要get-a-dog
。
我该如何修改代码?谢谢。
我正在使用这个函数将驼峰式字符串转换为破折号分隔的字符串:
function camel2dashed($className) {
return strtolower(preg_replace('/([^A-Z-])([A-Z])/', '$1-$2', $className));
}
代码有点用,但当我有这样的字符串时(例如:getADog
),它返回get-adog
,但我想要get-a-dog
。
我该如何修改代码?谢谢。
function camel2dashed($className) {
return strtolower(preg_replace('/([A-Z])/', '-$1', $className));
}
function camel2dash($name) {
return ltrim(strtolower(preg_replace('/[A-Z]([A-Z](?![a-z]))*/', '-$0', $name)), '-');
}
处理所有边缘情况:
SomeOfTheWords → some-of-the-words
getADog → get-a-dog
ADog → a-dog
aDog → a-dog
XML → xml
SimpleXMLReader → simple-xml-reader