3v4l.org

run code in 300+ PHP versions simultaneously
<?php ini_set("intl.use_exceptions", true); try{ var_dump(idn_to_ascii( "", IDNA_USE_STD3_RULES | IDNA_NONTRANSITIONAL_TO_UNICODE | IDNA_CHECK_CONTEXTJ, INTL_IDNA_VARIANT_UTS46, $info )); }catch(\Throwable $e){ } var_dump($info); $errors = [ "IDNA_ERROR_EMPTY_LABEL", "IDNA_ERROR_LABEL_TOO_LONG", "IDNA_ERROR_DOMAIN_NAME_TOO_LONG", "IDNA_ERROR_LEADING_HYPHEN", "IDNA_ERROR_TRAILING_HYPHEN", "IDNA_ERROR_HYPHEN_3_4", "IDNA_ERROR_LEADING_COMBINING_MARK", "IDNA_ERROR_DISALLOWED", "IDNA_ERROR_PUNYCODE", "IDNA_ERROR_LABEL_HAS_DOT", "IDNA_ERROR_INVALID_ACE_LABEL", "IDNA_ERROR_BIDI", "IDNA_ERROR_CONTEXTJ" ]; foreach($errors as $errorReadable){ $error = constant($errorReadable); if($info['errors'] & $error){ echo $errorReadable . "\n"; } }

preferences:
42.16 ms | 402 KiB | 5 Q