How to convert PascalCase to pascal_case?

前端 未结 30 1620
北海茫月
北海茫月 2020-11-29 16:36

If I had:

$string = \"PascalCase\";

I need

\"pascal_case\"

Does PHP offer a function for this purpose?

30条回答
  •  萌比男神i
    2020-11-29 17:30

    It's easy using the Filter classes of the Zend Word Filters:

    underscoreToCamelCase($rawString);
                echo PHP_EOL . $rawString . ' >>> ' . $filteredString . PHP_EOL;
            }
            echo PHP_EOL . '-----' . 'camelCaseToUnderscore' . '-----' . PHP_EOL;
            foreach ($camelCasedStrings as $rawString) {
                $filteredString = $this->camelCaseToUnderscore($rawString);
                echo PHP_EOL . $rawString . ' >>> ' . $filteredString . PHP_EOL;
            }
        }
    
        public function camelCaseToUnderscore($input)
        {
            $camelCaseToSeparatorFilter = new CamelCaseToUnderscore();
            $result = $camelCaseToSeparatorFilter->filter($input);
            $result = strtolower($result);
            return $result;
        }
    
        public function underscoreToCamelCase($input)
        {
            $underscoreToCamelCaseFilter = new UnderscoreToCamelCase();
            $result = $underscoreToCamelCaseFilter->filter($input);
            return $result;
        }
    }
    

    -----underscoreToCamelCase-----

    simple_test >>> SimpleTest

    easy >>> Easy

    html >>> Html

    simple_xml >>> SimpleXml

    pdf_load >>> PdfLoad

    start_middle_last >>> StartMiddleLast

    a_string >>> AString

    some4_numbers234 >>> Some4Numbers234

    test123_string >>> Test123String

    -----camelCaseToUnderscore-----

    simpleTest >>> simple_test

    easy >>> easy

    HTML >>> html

    simpleXML >>> simple_xml

    PDFLoad >>> pdf_load

    startMIDDLELast >>> start_middle_last

    AString >>> a_string

    Some4Numbers234 >>> some4_numbers234

    TEST123String >>> test123_string

提交回复
热议问题