我有一个看起来像这样的字符串:
$string = 'helloWorldAndStackOverflow';
我希望它以:
结束$string = 'hello.world.and.stack.overflow';
因此,如果我有一个大写字符,它应该添加一个.
字符。然后我可以在整个事情上使用strtolower
。
我如何在点前添加?
答案 0 :(得分:4)
您可以使用preg_replace
来标识uppercase
并替换它。
$string = 'helloWorldAndStackOverflow';
$string = preg_replace('/([A-Z])/', '.$1', $string);
之后,您只需使用strtolower
$string = strtolower($string);
将其转换为小写。
答案 1 :(得分:1)
您可以使用preg_replace_callback
进行替换。尝试下面的代码,
<?php
$string = 'helloWorldAndStackOverflow';
$dottedString = preg_replace_callback('/[A-Z]/', function($matches){
return $matches[0] = '.' . ucfirst($matches[0]);
}, $string);
echo $dottedString;
?>