我有一个字符串:“Some_string_to_capitalize”,我想将其转换为“Some_String_To_Capitalize”。我试过:
$result = preg_replace( '/(_([a-z]{1}))/' , strtoupper('$1') , $subject )
和
$result = preg_replace( '/(_([a-z]{1}))/' , "strtoupper($1)" , $subject )
我查看了 PHP 手册页和此处的 SO,但一无所获。如果这是一个骗局,我们深表歉意!
This is the equivalent SO question for Javascript .
最佳答案
我想你想使用 preg_replace_callback
:
在 PHP 5.3+
中<?php
$subject = 'Some_string_to_capitalize';
$result = preg_replace_callback(
'/(_([a-z]{1}))/',
function ($matches) {
return strtoupper($matches[0]);
} ,
$subject
);
对于 5.3 以下的 PHP>
function toUpper($matches) {
return strtoupper($matches[0]);
}
$result = preg_replace_callback('/(_([a-z]{1}))/', 'toUpper', $subject);
https://stackoverflow.com/questions/9878745/