1--TEST-- 2Test mb_regex_encoding() function : usage variations - test different encodings 3--EXTENSIONS-- 4mbstring 5--SKIPIF-- 6<?php 7function_exists('mb_regex_encoding') or die("skip mb_regex_encoding() is not available in this build"); 8?> 9--FILE-- 10<?php 11/* 12 * Test all listed encoding types from php.net to check all are known to function 13 * NB: The strings passed are *NOT* necessarily encoded in the encoding passed to the function. 14 * This test is purely to see whether the function recognises the encoding. 15 */ 16 17echo "*** Testing mb_regex_encoding() : usage variations ***\n"; 18 19$encoding = array('UCS-4', /*1*/ 20 'UCS-4BE', 21 'UCS-4LE', 22 'UCS-2', 23 'UCS-2BE', /*5*/ 24 'UCS-2LE', 25 'UTF-32', 26 'UTF-32BE', 27 'UTF-32LE', 28 'UTF-16', /*10*/ 29 'UTF-16BE', 30 'UTF-16LE', 31 'UTF-7', 32 'UTF7-IMAP', 33 'UTF-8', /*15*/ 34 'ASCII', 35 'EUC-JP', 36 'SJIS', 37 'eucJP-win', 38 'SJIS-win', /*20*/ 39 'ISO-2022-JP', 40 'JIS', 41 'ISO-8859-1', 42 'ISO-8859-2', 43 'ISO-8859-3', /*25*/ 44 'ISO-8859-4', 45 'ISO-8859-5', 46 'ISO-8859-6', 47 'ISO-8859-7', 48 'ISO-8859-8', /*30*/ 49 'ISO-8859-9', 50 'ISO-8859-10', 51 'ISO-8859-13', 52 'ISO-8859-14', 53 'ISO-8859-15', /*35*/ 54 'byte2be', 55 'byte2le', 56 'byte4be', 57 'byte4le', 58 'BASE64', /*40*/ 59 'HTML-ENTITIES', 60 '7bit', 61 '8bit', 62 'EUC-CN', 63 'CP936', /*45*/ 64 'HZ', 65 'EUC-TW', 66 'CP950', 67 'BIG-5', 68 'EUC-KR', /*50*/ 69 'UHC', 70 'ISO-2022-KR', 71 'Windows-1251', 72 'Windows-1252', 73 'CP866', /*55*/ 74 'KOI8-R'); /*56*/ 75 76$iterator = 1; 77foreach($encoding as $enc) { 78 echo "\n-- Iteration $iterator --\n"; 79 var_dump(mb_regex_encoding()); 80 try { 81 var_dump(mb_regex_encoding($enc)); 82 } catch (\ValueError $e) { 83 echo $e->getMessage() . \PHP_EOL; 84 } 85 var_dump(mb_regex_encoding()); 86 $iterator++; 87} 88echo "Done"; 89?> 90--EXPECT-- 91*** Testing mb_regex_encoding() : usage variations *** 92 93-- Iteration 1 -- 94string(5) "UTF-8" 95bool(true) 96string(5) "UCS-4" 97 98-- Iteration 2 -- 99string(5) "UCS-4" 100mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "UCS-4BE" given 101string(5) "UCS-4" 102 103-- Iteration 3 -- 104string(5) "UCS-4" 105bool(true) 106string(7) "UCS-4LE" 107 108-- Iteration 4 -- 109string(7) "UCS-4LE" 110mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "UCS-2" given 111string(7) "UCS-4LE" 112 113-- Iteration 5 -- 114string(7) "UCS-4LE" 115mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "UCS-2BE" given 116string(7) "UCS-4LE" 117 118-- Iteration 6 -- 119string(7) "UCS-4LE" 120mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "UCS-2LE" given 121string(7) "UCS-4LE" 122 123-- Iteration 7 -- 124string(7) "UCS-4LE" 125bool(true) 126string(5) "UCS-4" 127 128-- Iteration 8 -- 129string(5) "UCS-4" 130bool(true) 131string(5) "UCS-4" 132 133-- Iteration 9 -- 134string(5) "UCS-4" 135bool(true) 136string(7) "UCS-4LE" 137 138-- Iteration 10 -- 139string(7) "UCS-4LE" 140bool(true) 141string(6) "UTF-16" 142 143-- Iteration 11 -- 144string(6) "UTF-16" 145bool(true) 146string(6) "UTF-16" 147 148-- Iteration 12 -- 149string(6) "UTF-16" 150bool(true) 151string(8) "UTF-16LE" 152 153-- Iteration 13 -- 154string(8) "UTF-16LE" 155mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "UTF-7" given 156string(8) "UTF-16LE" 157 158-- Iteration 14 -- 159string(8) "UTF-16LE" 160mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "UTF7-IMAP" given 161string(8) "UTF-16LE" 162 163-- Iteration 15 -- 164string(8) "UTF-16LE" 165bool(true) 166string(5) "UTF-8" 167 168-- Iteration 16 -- 169string(5) "UTF-8" 170bool(true) 171string(5) "ASCII" 172 173-- Iteration 17 -- 174string(5) "ASCII" 175bool(true) 176string(6) "EUC-JP" 177 178-- Iteration 18 -- 179string(6) "EUC-JP" 180bool(true) 181string(4) "SJIS" 182 183-- Iteration 19 -- 184string(4) "SJIS" 185bool(true) 186string(6) "EUC-JP" 187 188-- Iteration 20 -- 189string(6) "EUC-JP" 190bool(true) 191string(4) "SJIS" 192 193-- Iteration 21 -- 194string(4) "SJIS" 195mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "ISO-2022-JP" given 196string(4) "SJIS" 197 198-- Iteration 22 -- 199string(4) "SJIS" 200mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "JIS" given 201string(4) "SJIS" 202 203-- Iteration 23 -- 204string(4) "SJIS" 205bool(true) 206string(10) "ISO-8859-1" 207 208-- Iteration 24 -- 209string(10) "ISO-8859-1" 210bool(true) 211string(10) "ISO-8859-2" 212 213-- Iteration 25 -- 214string(10) "ISO-8859-2" 215bool(true) 216string(10) "ISO-8859-3" 217 218-- Iteration 26 -- 219string(10) "ISO-8859-3" 220bool(true) 221string(10) "ISO-8859-4" 222 223-- Iteration 27 -- 224string(10) "ISO-8859-4" 225bool(true) 226string(10) "ISO-8859-5" 227 228-- Iteration 28 -- 229string(10) "ISO-8859-5" 230bool(true) 231string(10) "ISO-8859-6" 232 233-- Iteration 29 -- 234string(10) "ISO-8859-6" 235bool(true) 236string(10) "ISO-8859-7" 237 238-- Iteration 30 -- 239string(10) "ISO-8859-7" 240bool(true) 241string(10) "ISO-8859-8" 242 243-- Iteration 31 -- 244string(10) "ISO-8859-8" 245bool(true) 246string(10) "ISO-8859-9" 247 248-- Iteration 32 -- 249string(10) "ISO-8859-9" 250bool(true) 251string(11) "ISO-8859-10" 252 253-- Iteration 33 -- 254string(11) "ISO-8859-10" 255bool(true) 256string(11) "ISO-8859-13" 257 258-- Iteration 34 -- 259string(11) "ISO-8859-13" 260bool(true) 261string(11) "ISO-8859-14" 262 263-- Iteration 35 -- 264string(11) "ISO-8859-14" 265bool(true) 266string(11) "ISO-8859-15" 267 268-- Iteration 36 -- 269string(11) "ISO-8859-15" 270mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "byte2be" given 271string(11) "ISO-8859-15" 272 273-- Iteration 37 -- 274string(11) "ISO-8859-15" 275mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "byte2le" given 276string(11) "ISO-8859-15" 277 278-- Iteration 38 -- 279string(11) "ISO-8859-15" 280mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "byte4be" given 281string(11) "ISO-8859-15" 282 283-- Iteration 39 -- 284string(11) "ISO-8859-15" 285mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "byte4le" given 286string(11) "ISO-8859-15" 287 288-- Iteration 40 -- 289string(11) "ISO-8859-15" 290mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "BASE64" given 291string(11) "ISO-8859-15" 292 293-- Iteration 41 -- 294string(11) "ISO-8859-15" 295mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "HTML-ENTITIES" given 296string(11) "ISO-8859-15" 297 298-- Iteration 42 -- 299string(11) "ISO-8859-15" 300mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "7bit" given 301string(11) "ISO-8859-15" 302 303-- Iteration 43 -- 304string(11) "ISO-8859-15" 305mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "8bit" given 306string(11) "ISO-8859-15" 307 308-- Iteration 44 -- 309string(11) "ISO-8859-15" 310bool(true) 311string(6) "EUC-CN" 312 313-- Iteration 45 -- 314string(6) "EUC-CN" 315mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "CP936" given 316string(6) "EUC-CN" 317 318-- Iteration 46 -- 319string(6) "EUC-CN" 320mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "HZ" given 321string(6) "EUC-CN" 322 323-- Iteration 47 -- 324string(6) "EUC-CN" 325bool(true) 326string(6) "EUC-TW" 327 328-- Iteration 48 -- 329string(6) "EUC-TW" 330mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "CP950" given 331string(6) "EUC-TW" 332 333-- Iteration 49 -- 334string(6) "EUC-TW" 335bool(true) 336string(4) "BIG5" 337 338-- Iteration 50 -- 339string(4) "BIG5" 340bool(true) 341string(6) "EUC-KR" 342 343-- Iteration 51 -- 344string(6) "EUC-KR" 345mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "UHC" given 346string(6) "EUC-KR" 347 348-- Iteration 52 -- 349string(6) "EUC-KR" 350mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "ISO-2022-KR" given 351string(6) "EUC-KR" 352 353-- Iteration 53 -- 354string(6) "EUC-KR" 355mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "Windows-1251" given 356string(6) "EUC-KR" 357 358-- Iteration 54 -- 359string(6) "EUC-KR" 360mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "Windows-1252" given 361string(6) "EUC-KR" 362 363-- Iteration 55 -- 364string(6) "EUC-KR" 365mb_regex_encoding(): Argument #1 ($encoding) must be a valid encoding, "CP866" given 366string(6) "EUC-KR" 367 368-- Iteration 56 -- 369string(6) "EUC-KR" 370bool(true) 371string(5) "KOI8R" 372Done 373