@@ -837,17 +837,8 @@ public static function mb_str_pad(string $string, int $length, string $pad_strin
837
837
838
838
if (null === $ encoding ) {
839
839
$ encoding = self ::mb_internal_encoding ();
840
- }
841
-
842
- try {
843
- $ validEncoding = @self ::mb_check_encoding ('' , $ encoding );
844
- } catch (\ValueError $ e ) {
845
- throw new \ValueError (sprintf ('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given ' , $ encoding ));
846
- }
847
-
848
- // BC for PHP 7.3 and lower
849
- if (!$ validEncoding ) {
850
- throw new \ValueError (sprintf ('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given ' , $ encoding ));
840
+ } else {
841
+ self ::assertEncoding ($ encoding , 'mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given ' );
851
842
}
852
843
853
844
if (self ::mb_strlen ($ pad_string , $ encoding ) <= 0 ) {
@@ -877,17 +868,8 @@ public static function mb_ucfirst(string $string, ?string $encoding = null): str
877
868
{
878
869
if (null === $ encoding ) {
879
870
$ encoding = self ::mb_internal_encoding ();
880
- }
881
-
882
- try {
883
- $ validEncoding = @self ::mb_check_encoding ('' , $ encoding );
884
- } catch (\ValueError $ e ) {
885
- throw new \ValueError (sprintf ('mb_ucfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given ' , $ encoding ));
886
- }
887
-
888
- // BC for PHP 7.3 and lower
889
- if (!$ validEncoding ) {
890
- throw new \ValueError (sprintf ('mb_ucfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given ' , $ encoding ));
871
+ } else {
872
+ self ::assertEncoding ($ encoding , 'mb_ucfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given ' );
891
873
}
892
874
893
875
$ firstChar = mb_substr ($ string , 0 , 1 , $ encoding );
@@ -900,18 +882,10 @@ public static function mb_lcfirst(string $string, ?string $encoding = null): str
900
882
{
901
883
if (null === $ encoding ) {
902
884
$ encoding = self ::mb_internal_encoding ();
885
+ } else {
886
+ self ::assertEncoding ($ encoding , 'mb_lcfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given ' );
903
887
}
904
888
905
- try {
906
- $ validEncoding = @self ::mb_check_encoding ('' , $ encoding );
907
- } catch (\ValueError $ e ) {
908
- throw new \ValueError (sprintf ('mb_lcfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given ' , $ encoding ));
909
- }
910
-
911
- // BC for PHP 7.3 and lower
912
- if (!$ validEncoding ) {
913
- throw new \ValueError (sprintf ('mb_lcfirst(): Argument #2 ($encoding) must be a valid encoding, "%s" given ' , $ encoding ));
914
- }
915
889
$ firstChar = mb_substr ($ string , 0 , 1 , $ encoding );
916
890
$ firstChar = mb_convert_case ($ firstChar , MB_CASE_LOWER , $ encoding );
917
891
@@ -991,4 +965,18 @@ private static function getEncoding($encoding)
991
965
992
966
return $ encoding ;
993
967
}
968
+
969
+ private static function assertEncoding (string $ encoding , string $ errorFormat ): void
970
+ {
971
+ try {
972
+ $ validEncoding = @self ::mb_check_encoding ('' , $ encoding );
973
+ } catch (\ValueError $ e ) {
974
+ throw new \ValueError (\sprintf ($ errorFormat , $ encoding ));
975
+ }
976
+
977
+ // BC for PHP 7.3 and lower
978
+ if (!$ validEncoding ) {
979
+ throw new \ValueError (\sprintf ($ errorFormat , $ encoding ));
980
+ }
981
+ }
994
982
}
0 commit comments