在php中用点替换大写字符

时间:2017-10-09 08:25:30

标签: php string replace

我有一个看起来像这样的字符串:

$string = 'helloWorldAndStackOverflow';

我希望它以:

结束
$string = 'hello.world.and.stack.overflow';

因此,如果我有一个大写字符,它应该添加一个.字符。然后我可以在整个事情上使用strtolower

我如何在点前添加?

2 个答案:

答案 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;
?>