<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Gets the Decomposition_Mapping property for the given UTF-8 encoded code point</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.normalizer.html">Normalizer</a></div> <div class="next" style="text-align: right; float: right;"><a href="normalizer.isnormalized.html">Normalizer::isNormalized</a></div> <div class="up"><a href="class.normalizer.html">Normalizer</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="normalizer.getrawdecomposition" class="refentry"> <div class="refnamediv"> <h1 class="refname">Normalizer::getRawDecomposition</h1> <h1 class="refname">normalizer_get_raw_decomposition</h1> <p class="verinfo">(PHP 7 >= 7.3)</p><p class="refpurpose"><span class="refname">Normalizer::getRawDecomposition</span> -- <span class="refname">normalizer_get_raw_decomposition</span> — <span class="dc-title">Gets the Decomposition_Mapping property for the given UTF-8 encoded code point</span></p> </div> <div class="refsect1 description" id="refsect1-normalizer.getrawdecomposition-description"> <h3 class="title">Description</h3> <p class="para">Object oriented style</p> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="modifier">static</span> <span class="type">string</span> <span class="methodname"><strong>Normalizer::getRawDecomposition</strong></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$input</code></span> )</div> <p class="para rdfs-comment">Procedural style</p> <div class="methodsynopsis dc-description"> <span class="type">string</span> <span class="methodname"><strong>normalizer_get_raw_decomposition</strong></span> ( <span class="methodparam"><span class="type">string</span> <code class="parameter">$input</code></span> )</div> <p class="para rdfs-comment"> Gets the Decomposition_Mapping property, as specified in the Unicode Character Database (UCD), for the given UTF-8 encoded code point. </p> </div> <div class="refsect1 parameters" id="refsect1-normalizer.getrawdecomposition-parameters"> <h3 class="title">Parameters</h3> <dl> <dt> <code class="parameter">input</code></dt> <dd> <p class="para"> The input string, which should be a single, UTF-8 encoded, code point. </p> </dd> </dl> </div> <div class="refsect1 returnvalues" id="refsect1-normalizer.getrawdecomposition-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns a <span class="type"><a href="language.types.string.html" class="type string">string</a></span> containing the Decomposition_Mapping property, if present in the UCD. </p> <p class="para"> Returns <strong><code>NULL</code></strong> if there is no Decomposition_Mapping property for the character. </p> </div> <div class="refsect1 examples" id="refsect1-normalizer.getrawdecomposition-examples"> <h3 class="title">Examples</h3> <div class="example" id="example-3069"> <p><strong>Example #1 <span class="methodname"><strong>Normalizer::getRawDecomposition()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br />$result </span><span style="color: #007700">= </span><span style="color: #DD0000">""</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$strings </span><span style="color: #007700">= [<br /> </span><span style="color: #DD0000">"a"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"\u{FFDA}"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"\u{FDFA}"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">""</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"aa"</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">"\xF5"</span><span style="color: #007700">,<br />];<br /><br />foreach (</span><span style="color: #0000BB">$strings </span><span style="color: #007700">as </span><span style="color: #0000BB">$string</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$decomposition </span><span style="color: #007700">= </span><span style="color: #0000BB">Normalizer</span><span style="color: #007700">::</span><span style="color: #0000BB">getRawDecomposition</span><span style="color: #007700">(</span><span style="color: #0000BB">$string</span><span style="color: #007700">);<br /> </span><span style="color: #FF8000">// $decomposition = normalizer_get_raw_decomposition($string); Procedural way<br /><br /> </span><span style="color: #0000BB">$error_code </span><span style="color: #007700">= </span><span style="color: #0000BB">intl_get_error_code</span><span style="color: #007700">();<br /> </span><span style="color: #0000BB">$error_message </span><span style="color: #007700">= </span><span style="color: #0000BB">intl_get_error_message</span><span style="color: #007700">();<br /><br /> </span><span style="color: #0000BB">$string_hex </span><span style="color: #007700">= </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$string</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$result </span><span style="color: #007700">.= </span><span style="color: #DD0000">"---------------------\n"</span><span style="color: #007700">;<br /><br /> if (</span><span style="color: #0000BB">$decomposition </span><span style="color: #007700">=== </span><span style="color: #0000BB">null</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$result </span><span style="color: #007700">.= </span><span style="color: #DD0000">"'</span><span style="color: #0000BB">$string_hex</span><span style="color: #DD0000">' has no decomposition mapping\n" </span><span style="color: #007700">;<br /> } else {<br /> </span><span style="color: #0000BB">$result </span><span style="color: #007700">.= </span><span style="color: #DD0000">"'</span><span style="color: #0000BB">$string_hex</span><span style="color: #DD0000">' has the decomposition mapping '" </span><span style="color: #007700">. </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$decomposition</span><span style="color: #007700">) . </span><span style="color: #DD0000">"'\n" </span><span style="color: #007700">;<br /> }<br /><br /> </span><span style="color: #0000BB">$result </span><span style="color: #007700">.= </span><span style="color: #DD0000">"error info: '</span><span style="color: #0000BB">$error_message</span><span style="color: #DD0000">' (</span><span style="color: #0000BB">$error_code</span><span style="color: #DD0000">)\n"</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">$result</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> --------------------- '61' has no decomposition mapping error info: 'U_ZERO_ERROR' (0) --------------------- 'efbf9a' has the decomposition mapping 'e385a1' error info: 'U_ZERO_ERROR' (0) --------------------- 'efb7ba' has the decomposition mapping 'd8b5d984d98920d8a7d984d984d98720d8b9d984d98ad98720d988d8b3d984d985' error info: 'U_ZERO_ERROR' (0) --------------------- '' has no decomposition mapping error info: 'Input string must be exactly one UTF-8 encoded code point long.: U_ILLEGAL_ARGUMENT_ERROR' (1) --------------------- '6161' has no decomposition mapping error info: 'Input string must be exactly one UTF-8 encoded code point long.: U_ILLEGAL_ARGUMENT_ERROR' (1) --------------------- 'f5' has no decomposition mapping error info: 'Code point out of range: U_ILLEGAL_ARGUMENT_ERROR' (1) </pre></div> </div> </div> </div> <div class="refsect1 seealso" id="refsect1-normalizer.getrawdecomposition-seealso"> <h3 class="title">See Also</h3> <ul class="simplelist"> <li class="member"><span class="methodname"><a href="normalizer.normalize.html" class="methodname" rel="rdfs-seeAlso">Normalizer::normalize()</a> - Normalizes the input provided and returns the normalized string</span></li> <li class="member"><span class="methodname"><a href="normalizer.isnormalized.html" class="methodname" rel="rdfs-seeAlso">Normalizer::isNormalized()</a> - Checks if the provided string is already in the specified normalization form</span></li> </ul> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.normalizer.html">Normalizer</a></div> <div class="next" style="text-align: right; float: right;"><a href="normalizer.isnormalized.html">Normalizer::isNormalized</a></div> <div class="up"><a href="class.normalizer.html">Normalizer</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>