php – pre_replace一个字符串,用于大写下划线后面的每个单词

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – pre_replace一个字符串,用于大写下划线后面的每个单词脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个示例字符串:
hello_world_again

所以它将被转换为:
HelloWorldAgain

所以它应该能够删除下划线并将下一个字母大写.第一个字母也应该大写.我发现了这个:PReg_replace(‘/(?&amp;lt ;!)(?<!^)[A-Z] /','_ $0',$val) 但现在我想扭转这个过程.非常感谢!谢谢!

解决方法

单独的正则表达式在这里不起作用.但是,您可以使用 preg_replace_callback

$val = 'hello_world_again';
function match_toupPEr($m) {
    return strtoupper($m[1]);
}
$val = preg_replace_callback('/(?:^|_)([a-z])/','match_toupper',$val);
echo $val; // HelloWorldAgain

PHP 5.3或更高版本中,也可以使用anonymous function

$val = 'hello_world_again';
$val = preg_replace_callback('/(?:^|_)([a-z])/',function ($m) {
        return strtoupper($m[1]);
    },$val);
echo $val; // HelloWorldAgain

此外,如果您忽略有关e modifier的所有警告和注意事项,这也将起作用:

$val = 'hello_world_again';
$val = preg_replace('/(?:^|_)([a-z])/e','strtoupper($1)',$val);
echo $val; // HelloWorldAgain

这是另一种完全避免使用正则表达式的解决方案:

$val = 'hello_world_again';
$val = implode('',array_map(ucFirst,explode('_',$val)));
echo $val; // HelloWorldAgain

脚本宝典总结

以上是脚本宝典为你收集整理的php – pre_replace一个字符串,用于大写下划线后面的每个单词全部内容,希望文章能够帮你解决php – pre_replace一个字符串,用于大写下划线后面的每个单词所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。