@@ -23,20 +23,18 @@ class Text
23
23
{
24
24
25
25
/**
26
- * Default transliterator id string .
26
+ * Default transliterator.
27
27
*
28
- * @deprecated 3.7.0 Use $_defaultTransliterator instead.
29
- * @var string $_defaultTransliteratorId Transliterator identifier string.
28
+ * @var \Transliterator Transliterator instance.
30
29
*/
31
- protected static $ _defaultTransliteratorId ;
30
+ protected static $ _defaultTransliterator ;
32
31
33
32
/**
34
- * Default transliterator.
33
+ * Default transliterator id string .
35
34
*
36
- * @var \Transliterator|string Either a Transliterator instance, or a
37
- * transliterator identifier string.
35
+ * @var string $_defaultTransliteratorId Transliterator identifier string.
38
36
*/
39
- protected static $ _defaultTransliterator = 'Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove ' ;
37
+ protected static $ _defaultTransliteratorId = 'Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove ' ;
40
38
41
39
/**
42
40
* Default html tags who must not be count for truncate text.
@@ -1061,85 +1059,66 @@ public static function parseFileSize($size, $default = false)
1061
1059
}
1062
1060
1063
1061
/**
1064
- * Get default transliterator identifier string .
1062
+ * Get the default transliterator.
1065
1063
*
1066
- * @deprecated 3.7.0 Use getTransliterator() instead.
1067
- * @return string Transliterator identifier.
1064
+ * @return \Transliterator|null Either a Transliterator instance, or `null`
1065
+ * in case no transliterator has been set yet.
1066
+ * @since 3.7.0
1068
1067
*/
1069
- public static function getTransliteratorId ()
1068
+ public static function getTransliterator ()
1070
1069
{
1071
- deprecationWarning (
1072
- 'Text::getTransliteratorId() is deprecated. ' .
1073
- 'Use Text::getTransliterator() instead. '
1074
- );
1075
-
1076
- return static ::getTransliterator ();
1070
+ return static ::$ _defaultTransliterator ;
1077
1071
}
1078
1072
1079
1073
/**
1080
- * Set default transliterator identifier string .
1074
+ * Set the default transliterator.
1081
1075
*
1082
- * @deprecated 3.7.0 Use setTransliterator() instead.
1083
- * @param string $transliteratorId Transliterator identifier.
1076
+ * @param \Transliterator $transliterator A `Transliterator` instance.
1084
1077
* @return void
1078
+ * @since 3.7.0
1085
1079
*/
1086
- public static function setTransliteratorId ( $ transliteratorId )
1080
+ public static function setTransliterator ( \ Transliterator $ transliterator )
1087
1081
{
1088
- deprecationWarning (
1089
- 'Text::setTransliteratorId() is deprecated. ' .
1090
- 'Use Text::setTransliterator() instead. '
1091
- );
1092
-
1093
- static ::setTransliterator ($ transliteratorId );
1082
+ static ::$ _defaultTransliterator = $ transliterator ;
1094
1083
}
1095
1084
1096
1085
/**
1097
- * Get the default transliterator.
1086
+ * Get default transliterator identifier string .
1098
1087
*
1099
- * @return \Transliterator|string Either a Transliterator instance, or a
1100
- * transliterator identifier string.
1101
- * @since 3.7.0
1088
+ * @return string Transliterator identifier.
1102
1089
*/
1103
- public static function getTransliterator ()
1090
+ public static function getTransliteratorId ()
1104
1091
{
1105
- return static ::$ _defaultTransliterator ;
1092
+ return static ::$ _defaultTransliteratorId ;
1106
1093
}
1107
1094
1108
1095
/**
1109
1096
* Set default transliterator identifier string.
1110
1097
*
1111
- * @param \Transliterator|string $transliterator Either a Transliterator
1112
- * instance, or a transliterator identifier string.
1098
+ * @param string $transliteratorId Transliterator identifier.
1113
1099
* @return void
1114
- * @since 3.7.0
1115
1100
*/
1116
- public static function setTransliterator ( $ transliterator )
1101
+ public static function setTransliteratorId ( $ transliteratorId )
1117
1102
{
1118
- static ::$ _defaultTransliterator = $ transliterator ;
1103
+ static ::setTransliterator (transliterator_create ($ transliteratorId ));
1104
+ static ::$ _defaultTransliteratorId = $ transliteratorId ;
1119
1105
}
1120
1106
1121
1107
/**
1122
1108
* Transliterate string.
1123
1109
*
1124
1110
* @param string $string String to transliterate.
1125
1111
* @param \Transliterator|string|null $transliterator Either a Transliterator
1126
- * instance, or a transliterator identifier string. If `null`
1127
- * `Text::$_defaultTransliterator` will be used.
1112
+ * instance, or a transliterator identifier string. If `null`, the default
1113
+ * transliterator (identifier) set via `setTransliteratorId()` or
1114
+ * `setTransliterator()` will be used.
1128
1115
* @return string
1129
1116
* @see https://secure.php.net/manual/en/transliterator.transliterate.php
1130
1117
*/
1131
1118
public static function transliterate ($ string , $ transliterator = null )
1132
1119
{
1133
1120
if (!$ transliterator ) {
1134
- if (static ::$ _defaultTransliteratorId !== null ) {
1135
- deprecationWarning (
1136
- '`Text::$_defaultTransliteratorId` is deprecated. ' .
1137
- 'Use `Text::$_defaultTransliterator` instead. '
1138
- );
1139
- $ transliterator = static ::$ _defaultTransliteratorId ;
1140
- } else {
1141
- $ transliterator = static ::$ _defaultTransliterator ;
1142
- }
1121
+ $ transliterator = static ::$ _defaultTransliterator ?: static ::$ _defaultTransliteratorId ;
1143
1122
}
1144
1123
1145
1124
return transliterator_transliterate ($ transliterator , $ string );
@@ -1152,18 +1131,19 @@ public static function transliterate($string, $transliterator = null)
1152
1131
* ### Options:
1153
1132
*
1154
1133
* - `replacement`: Replacement string. Default '-'.
1155
- * - `transliterator`: A Transliterator instance, or a transliterator id string.
1156
- * If `null` (default) `Text::$_defaultTransliterator` will be used.
1134
+ * - `transliteratorId`: A valid transliterator id string.
1135
+ * If `null` (default) the transliterator (identifier) set via
1136
+ * `setTransliteratorId()` or `setTransliterator()` will be used.
1157
1137
* If `false` no transliteration will be done, only non words will be removed.
1158
- * - `transliteratorId`: Deprecated as of 3.7.0, use the `transliterator` option
1159
- * instead.
1160
1138
* - `preserve`: Specific non-word character to preserve. Default `null`.
1161
1139
* For e.g. this option can be set to '.' to generate clean file names.
1162
1140
*
1163
1141
* @param string $string the string you want to slug
1164
1142
* @param array $options If string it will be use as replacement character
1165
1143
* or an array of options.
1166
1144
* @return string
1145
+ * @see setTransliterator()
1146
+ * @see setTransliteratorId()
1167
1147
*/
1168
1148
public static function slug ($ string , $ options = [])
1169
1149
{
@@ -1172,19 +1152,12 @@ public static function slug($string, $options = [])
1172
1152
}
1173
1153
$ options += [
1174
1154
'replacement ' => '- ' ,
1175
- 'transliterator ' => null ,
1155
+ 'transliteratorId ' => null ,
1176
1156
'preserve ' => null
1177
1157
];
1178
1158
1179
- if (array_key_exists ('transliteratorId ' , $ options )) {
1180
- deprecationWarning (
1181
- 'The `transliteratorId` option is deprecated. ' .
1182
- 'Use `transliterator` instead. '
1183
- );
1184
- $ options ['transliterator ' ] = $ options ['transliteratorId ' ];
1185
- }
1186
- if ($ options ['transliterator ' ] !== false ) {
1187
- $ string = static ::transliterate ($ string , $ options ['transliterator ' ]);
1159
+ if ($ options ['transliteratorId ' ] !== false ) {
1160
+ $ string = static ::transliterate ($ string , $ options ['transliteratorId ' ]);
1188
1161
}
1189
1162
1190
1163
$ regex = '^\s\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd} ' ;
0 commit comments