diff --git a/reference/intl/book.xml b/reference/intl/book.xml
index 2c3754d9ae..ca3d9fc9ad 100644
--- a/reference/intl/book.xml
+++ b/reference/intl/book.xml
@@ -95,6 +95,9 @@
&reference.intl.messageformatter;
&reference.intl.dateformatter;
+ &reference.intl.grapheme;
+ &reference.intl.idn;
+
&reference.intl.reference;
diff --git a/reference/intl/constants.xml b/reference/intl/constants.xml
index 05ea60c15e..28459bdc0c 100644
--- a/reference/intl/constants.xml
+++ b/reference/intl/constants.xml
@@ -1,4 +1,4 @@
-
+
@@ -17,6 +17,40 @@
+
+
+ IDNA_DEFAULT
+ (integer)
+
+
+
+ Prohibit processing of unassigned codepoints in the input for IDN
+ functions and do not check if the input conforms to domain name ASCII rules.
+
+
+
+
+
+ IDNA_ALLOW_UNASSIGNED
+ (integer)
+
+
+
+ Allow processing of unassigned codepoints in the input for IDN functions.
+
+
+
+
+
+ IDNA_USE_STD3_RULES
+ (integer)
+
+
+
+ Check if the input for IDN functions conforms to domain name ASCII rules.
+
+
+
diff --git a/reference/intl/grapheme.xml b/reference/intl/grapheme.xml
new file mode 100644
index 0000000000..c37e20e8db
--- /dev/null
+++ b/reference/intl/grapheme.xml
@@ -0,0 +1,27 @@
+
+
+
+ Grapheme &Functions;
+ &reference.intl.entities.grapheme;
+
+
+
diff --git a/reference/intl/functions/grapheme-extract.xml b/reference/intl/grapheme/grapheme-extract.xml
similarity index 99%
rename from reference/intl/functions/grapheme-extract.xml
rename to reference/intl/grapheme/grapheme-extract.xml
index ab2386eb01..d87aeeaa08 100644
--- a/reference/intl/functions/grapheme-extract.xml
+++ b/reference/intl/grapheme/grapheme-extract.xml
@@ -1,5 +1,5 @@
-
+
grapheme_extract
diff --git a/reference/intl/functions/grapheme-stripos.xml b/reference/intl/grapheme/grapheme-stripos.xml
similarity index 99%
rename from reference/intl/functions/grapheme-stripos.xml
rename to reference/intl/grapheme/grapheme-stripos.xml
index 6924c44c0a..3f77a480dc 100644
--- a/reference/intl/functions/grapheme-stripos.xml
+++ b/reference/intl/grapheme/grapheme-stripos.xml
@@ -1,5 +1,5 @@
-
+
grapheme_stripos
diff --git a/reference/intl/functions/grapheme-stristr.xml b/reference/intl/grapheme/grapheme-stristr.xml
similarity index 99%
rename from reference/intl/functions/grapheme-stristr.xml
rename to reference/intl/grapheme/grapheme-stristr.xml
index db0e58a3f1..6edf155d43 100644
--- a/reference/intl/functions/grapheme-stristr.xml
+++ b/reference/intl/grapheme/grapheme-stristr.xml
@@ -1,5 +1,5 @@
-
+
grapheme_stristr
diff --git a/reference/intl/functions/grapheme-strlen.xml b/reference/intl/grapheme/grapheme-strlen.xml
similarity index 98%
rename from reference/intl/functions/grapheme-strlen.xml
rename to reference/intl/grapheme/grapheme-strlen.xml
index 3095f643c8..2c27d0dd54 100644
--- a/reference/intl/functions/grapheme-strlen.xml
+++ b/reference/intl/grapheme/grapheme-strlen.xml
@@ -1,5 +1,5 @@
-
+
grapheme_strlen
diff --git a/reference/intl/functions/grapheme-strpos.xml b/reference/intl/grapheme/grapheme-strpos.xml
similarity index 99%
rename from reference/intl/functions/grapheme-strpos.xml
rename to reference/intl/grapheme/grapheme-strpos.xml
index e719f0c89f..84d2656f56 100644
--- a/reference/intl/functions/grapheme-strpos.xml
+++ b/reference/intl/grapheme/grapheme-strpos.xml
@@ -1,5 +1,5 @@
-
+
grapheme_strpos
diff --git a/reference/intl/functions/grapheme-strripos.xml b/reference/intl/grapheme/grapheme-strripos.xml
similarity index 99%
rename from reference/intl/functions/grapheme-strripos.xml
rename to reference/intl/grapheme/grapheme-strripos.xml
index 4e72066d64..a78b3384e5 100644
--- a/reference/intl/functions/grapheme-strripos.xml
+++ b/reference/intl/grapheme/grapheme-strripos.xml
@@ -1,5 +1,5 @@
-
+
grapheme_strripos
diff --git a/reference/intl/functions/grapheme-strrpos.xml b/reference/intl/grapheme/grapheme-strrpos.xml
similarity index 99%
rename from reference/intl/functions/grapheme-strrpos.xml
rename to reference/intl/grapheme/grapheme-strrpos.xml
index fa57b66614..ae0a877dd4 100644
--- a/reference/intl/functions/grapheme-strrpos.xml
+++ b/reference/intl/grapheme/grapheme-strrpos.xml
@@ -1,5 +1,5 @@
-
+
grapheme_strrpos
diff --git a/reference/intl/functions/grapheme-strstr.xml b/reference/intl/grapheme/grapheme-strstr.xml
similarity index 99%
rename from reference/intl/functions/grapheme-strstr.xml
rename to reference/intl/grapheme/grapheme-strstr.xml
index dc8e0d31ec..6ce79f6748 100644
--- a/reference/intl/functions/grapheme-strstr.xml
+++ b/reference/intl/grapheme/grapheme-strstr.xml
@@ -1,5 +1,5 @@
-
+
grapheme_strstr
diff --git a/reference/intl/functions/grapheme-substr.xml b/reference/intl/grapheme/grapheme-substr.xml
similarity index 99%
rename from reference/intl/functions/grapheme-substr.xml
rename to reference/intl/grapheme/grapheme-substr.xml
index 91b94927f7..b27e69b364 100644
--- a/reference/intl/functions/grapheme-substr.xml
+++ b/reference/intl/grapheme/grapheme-substr.xml
@@ -1,5 +1,5 @@
-
+
grapheme_substr
diff --git a/reference/intl/idn.xml b/reference/intl/idn.xml
new file mode 100644
index 0000000000..bea7ba5d10
--- /dev/null
+++ b/reference/intl/idn.xml
@@ -0,0 +1,27 @@
+
+
+
+ IDN &Functions;
+ &reference.intl.entities.idn;
+
+
+
diff --git a/reference/intl/idn/idn-to-ascii.xml b/reference/intl/idn/idn-to-ascii.xml
new file mode 100644
index 0000000000..4d54bfefb1
--- /dev/null
+++ b/reference/intl/idn/idn-to-ascii.xml
@@ -0,0 +1,104 @@
+
+
+
+
+ idn_to_ascii
+ Convert domain name to IDNA ASCII form.
+
+
+ &reftitle.description;
+ Procedural style
+
+ stringidn_to_ascii
+ stringdomain
+ intoptions
+
+
+ This function converts Unicode domain name to IDNA ASCII-compatible format.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ domain
+
+
+ Domain to convert. In PHP 5 must be UTF-8 encoded.
+
+
+
+
+ options
+
+
+ Conversion options - combination of IDNA_* constants.
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Domain name encoded in ASCII-compatible form.
+
+
+
+
+ &reftitle.examples;
+
+ idn_to_ascii example
+
+
+]]>
+
+
+ &example.outputs;
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ idn_to_unicode
+
+
+
+
+
+
diff --git a/reference/intl/idn/idn-to-unicode.xml b/reference/intl/idn/idn-to-unicode.xml
new file mode 100644
index 0000000000..2188d14ec6
--- /dev/null
+++ b/reference/intl/idn/idn-to-unicode.xml
@@ -0,0 +1,38 @@
+
+
+
+
+ idn_to_unicode
+ &Alias; idn_to_utf8
+
+
+
+ &reftitle.description;
+
+ &info.function.alias;
+ idn_to_utf8.
+
+
+
+
+
+
diff --git a/reference/intl/idn/idn-to-utf8.xml b/reference/intl/idn/idn-to-utf8.xml
new file mode 100644
index 0000000000..e953649987
--- /dev/null
+++ b/reference/intl/idn/idn-to-utf8.xml
@@ -0,0 +1,104 @@
+
+
+
+
+ idn_to_utf8
+ Convert domain name from IDNA ASCII to Unicode.
+
+
+ &reftitle.description;
+ Procedural style
+
+ stringidn_to_utf8
+ stringdomain
+ intoptions
+
+
+ This function converts Unicode domain name from IDNA ASCII-compatible format to plain Unicode.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ domain
+
+
+ Domain to convert in IDNA ASCII-compatible format.
+
+
+
+
+ options
+
+
+ Conversion options - combination of IDNA_* constants.
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Domain name in Unicode. In PHP5, domain name will be in UTF-8.
+
+
+
+
+ &reftitle.examples;
+
+ idn_to_utf8 example
+
+
+]]>
+
+
+ &example.outputs;
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ idn_to_unicode
+
+
+
+
+
+
diff --git a/reference/intl/versions.xml b/reference/intl/versions.xml
index da37ae0f70..ed3518e0ef 100644
--- a/reference/intl/versions.xml
+++ b/reference/intl/versions.xml
@@ -134,6 +134,10 @@
+
+
+
+