@@ -123,12 +123,12 @@ public static function format($value, string $format): string
123
123
// general syntax: [$<Currency string>-<language info>]
124
124
// language info is in hexadecimal
125
125
// strip off chinese part like [DBNum1][$-804]
126
- $ format = preg_replace ('/^(\[DBNum\d\])*(\[\$[^\]]*\])/i ' , '' , $ format ) ?? '' ;
126
+ $ format = ( string ) preg_replace ('/^(\[DBNum\d\])*(\[\$[^\]]*\])/i ' , '' , $ format );
127
127
128
128
// OpenOffice.org uses upper-case number formats, e.g. 'YYYY', convert to lower-case;
129
129
// but we don't want to change any quoted strings
130
130
/** @var callable */
131
- $ callable = [' self ' , 'setLowercaseCallback ' ];
131
+ $ callable = [self ::class , 'setLowercaseCallback ' ];
132
132
$ format = preg_replace_callback ('/(?:^|")([^"]*)(?:$|")/ ' , $ callable , $ format );
133
133
134
134
// Only process the non-quoted blocks for date format characters
@@ -159,14 +159,14 @@ public static function format($value, string $format): string
159
159
160
160
// escape any quoted characters so that DateTime format() will render them correctly
161
161
/** @var callable */
162
- $ callback = [' self ' , 'escapeQuotesCallback ' ];
163
- $ format = preg_replace_callback ('/"(.*)"/U ' , $ callback , $ format ) ?? '' ;
162
+ $ callback = [self ::class , 'escapeQuotesCallback ' ];
163
+ $ format = ( string ) preg_replace_callback ('/"(.*)"/U ' , $ callback , $ format );
164
164
165
165
$ dateObj = Date::excelToDateTimeObject ($ value );
166
166
// If the colon preceding minute had been quoted, as happens in
167
167
// Excel 2003 XML formats, m will not have been changed to i above.
168
168
// Change it now.
169
- $ format = \preg_replace ('/ \\\\:m/ ' , ':i ' , $ format ) ?? '' ;
169
+ $ format = ( string ) \preg_replace ('/ \\\\:m/ ' , ':i ' , $ format );
170
170
171
171
return $ dateObj ->format ($ format );
172
172
}
0 commit comments