gpt4 book ai didi

php - 如何将 PascalCase 转换为 snake_case?

转载 作者:IT老高 更新时间:2023-10-28 11:49:34 26 4
gpt4 key购买 nike

如果我有:

$string = "PascalCase";

我需要

"pascal_case"

PHP 是否为此提供了函数?

最佳答案

一个更短的解决方案:类似于编辑器的一个简化的正则表达式并修复“尾随下划线”问题:

$output = strtolower(preg_replace('/(?<!^)[A-Z]/', '_$0', $input));

PHP Demo | Regex Demo


请注意,像 SimpleXML 这样的情况将使用上述解决方案转换为 simple_x_m_l。这也可以被认为是驼峰式表示法的错误使用(正确的是 SimpleXml)而不是算法的错误,因为这种情况总是模棱两可的 - 即使通过将大写字符分组到一个字符串(simple_xml) 这种算法在其他边缘情况下总是会失败,例如 XMLHTMLConverter 或缩写附近的单字母词等。如果你不介意(相当罕见的)边缘情况和想要正确处理SimpleXML,可以使用稍微复杂一点的解决方案:

$output = ltrim(strtolower(preg_replace('/[A-Z]([A-Z](?![a-z]))*/', '_$0', $input)), '_');

PHP Demo | Regex Demo

关于php - 如何将 PascalCase 转换为 snake_case?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com