<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.intl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'en',
  ),
  'this' => 
  array (
    0 => 'class.spoofchecker.php',
    1 => 'Spoofchecker',
    2 => 'The Spoofchecker class',
  ),
  'up' => 
  array (
    0 => 'book.intl.php',
    1 => 'intl',
  ),
  'prev' => 
  array (
    0 => 'resourcebundle.locales.php',
    1 => 'ResourceBundle::getLocales',
  ),
  'next' => 
  array (
    0 => 'spoofchecker.areconfusable.php',
    1 => 'Spoofchecker::areConfusable',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/intl/spoofchecker.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.spoofchecker.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.spoofchecker" class="reference">

 <h1 class="title">The Spoofchecker class</h1>
 

 <div class="partintro"><p class="verinfo">(PHP 5 &gt;= 5.4.0, PHP 7, PHP 8, PECL intl &gt;= 2.0.0)</p>


  <div class="section" id="spoofchecker.intro">
   <h2 class="title">Introduction</h2>
   <p class="para">
    This class is provided because Unicode contains large number of characters
    and incorporates the varied writing systems of the world and their incorrect
    usage can expose programs or systems to possible security attacks using
    characters similarity.
   </p>
   <p class="para">
    Provided methods allow to check whether an individual string is likely an attempt
    at confusing the reader (<code class="literal">spoof detection</code>), such as  &quot;pаypаl&quot;
    spelled with Cyrillic &#039;а&#039; characters.
   </p>
  </div>


  <div class="section" id="spoofchecker.synopsis">
   <h2 class="title">Class synopsis</h2>


   <div class="classsynopsis"><div class="classsynopsisinfo">
    
     <span class="modifier">class</span> <strong class="classname"><strong class="classname">Spoofchecker</strong></strong>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Constants */</div>
    <div class="fieldsynopsis">
     <span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.single-script-confusable"><var class="varname">SINGLE_SCRIPT_CONFUSABLE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.mixed-script-confusable"><var class="varname">MIXED_SCRIPT_CONFUSABLE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.whole-script-confusable"><var class="varname">WHOLE_SCRIPT_CONFUSABLE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.any-case"><var class="varname">ANY_CASE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.single-script"><var class="varname">SINGLE_SCRIPT</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.invisible"><var class="varname">INVISIBLE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.char-limit"><var class="varname">CHAR_LIMIT</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.ascii"><var class="varname">ASCII</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.highly-restrictive"><var class="varname">HIGHLY_RESTRICTIVE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.moderately-restrictive"><var class="varname">MODERATELY_RESTRICTIVE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.minimally-restrictive"><var class="varname">MINIMALLY_RESTRICTIVE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.unrestrictive"><var class="varname">UNRESTRICTIVE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.single-script-restrictive"><var class="varname">SINGLE_SCRIPT_RESTRICTIVE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.mixed-numbers"><var class="varname">MIXED_NUMBERS</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.hidden-overlay"><var class="varname">HIDDEN_OVERLAY</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.ignore-space"><var class="varname">IGNORE_SPACE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.case-insensitive"><var class="varname">CASE_INSENSITIVE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.add-case-mappings"><var class="varname">ADD_CASE_MAPPINGS</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spoofchecker.php#spoofchecker.constants.simple-case-insensitive"><var class="varname">SIMPLE_CASE_INSENSITIVE</var></a></var>;</div>


    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Methods */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><a href="spoofchecker.construct.php" class="methodname">__construct</a></span>()</div>

    <div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spoofchecker.areconfusable.php" class="methodname">areConfusable</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string1</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string2</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter reference">&$errorCode</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spoofchecker.issuspicious.php" class="methodname">isSuspicious</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter reference">&$errorCode</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spoofchecker.setallowedlocales.php" class="methodname">setAllowedLocales</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$locales</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spoofchecker.setchecks.php" class="methodname">setChecks</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$checks</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spoofchecker.setrestrictionlevel.php" class="methodname">setRestrictionLevel</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$level</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

   }</div>


  </div>


  <div class="section" id="spoofchecker.constants">
   <h2 class="title">Predefined Constants</h2>
   <dl>
    
     <dt id="spoofchecker.constants.single-script-confusable">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.single-script-confusable">Spoofchecker::SINGLE_SCRIPT_CONFUSABLE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.mixed-script-confusable">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.mixed-script-confusable">Spoofchecker::MIXED_SCRIPT_CONFUSABLE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.whole-script-confusable">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.whole-script-confusable">Spoofchecker::WHOLE_SCRIPT_CONFUSABLE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.any-case">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.any-case">Spoofchecker::ANY_CASE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.single-script">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.single-script">Spoofchecker::SINGLE_SCRIPT</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.invisible">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.invisible">Spoofchecker::INVISIBLE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.char-limit">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.char-limit">Spoofchecker::CHAR_LIMIT</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.ascii">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.ascii">Spoofchecker::ASCII</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.highly-restrictive">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.highly-restrictive">Spoofchecker::HIGHLY_RESTRICTIVE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.moderately-restrictive">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.moderately-restrictive">Spoofchecker::MODERATELY_RESTRICTIVE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.minimally-restrictive">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.minimally-restrictive">Spoofchecker::MINIMALLY_RESTRICTIVE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.unrestrictive">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.unrestrictive">Spoofchecker::UNRESTRICTIVE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.single-script-restrictive">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.single-script-restrictive">Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.mixed-numbers">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.mixed-numbers">Spoofchecker::MIXED_NUMBERS</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.hidden-overlay">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.hidden-overlay">Spoofchecker::HIDDEN_OVERLAY</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.ignore-space">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.ignore-space">Spoofchecker::IGNORE_SPACE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para"/>
     </dd>
    

    
     <dt id="spoofchecker.constants.case-insensitive">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.case-insensitive">Spoofchecker::CASE_INSENSITIVE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <span class="simpara">Enables case-insensitive matching</span>
     </dd>
    

    
     <dt id="spoofchecker.constants.add-case-mappings">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.add-case-mappings">Spoofchecker::ADD_CASE_MAPPINGS</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <p class="para">Adds all case mappings for each element in the set</p>
     </dd>
    

    
     <dt id="spoofchecker.constants.simple-case-insensitive">
      <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.simple-case-insensitive">Spoofchecker::SIMPLE_CASE_INSENSITIVE</a></code></strong>
      <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
     </dt>
     <dd>
      <span class="simpara">Enables case-insensitive matching</span>
     </dd>
    
   </dl>
  </div>

  <div class="section">
  <h2 class="title">Changelog</h2>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.4.0</td>
      <td>
       Added <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.ignore-space">Spoofchecker::IGNORE_SPACE</a></code></strong>, <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.case-insensitive">Spoofchecker::CASE_INSENSITIVE</a></code></strong>,
       <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.add-case-mappings">Spoofchecker::ADD_CASE_MAPPINGS</a></code></strong>, <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.simple-case-insensitive">Spoofchecker::SIMPLE_CASE_INSENSITIVE</a></code></strong>.
      </td>
     </tr>

     <tr>
      <td>8.4.0</td>
      <td>
       The class constants are now typed.
      </td>
     </tr>

     <tr>
      <td>7.3.0</td>
      <td>
       Class constants used by <span class="function"><a href="spoofchecker.setrestrictionlevel.php" class="function">Spoofchecker::setRestrictionLevel()</a></span> such as <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.ascii">Spoofchecker::ASCII</a></code></strong>, <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.highly-restrictive">Spoofchecker::HIGHLY_RESTRICTIVE</a></code></strong>, <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.moderately-restrictive">Spoofchecker::MODERATELY_RESTRICTIVE</a></code></strong>, <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.minimally-restrictive">Spoofchecker::MINIMALLY_RESTRICTIVE</a></code></strong>, <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.unrestrictive">Spoofchecker::UNRESTRICTIVE</a></code></strong>, <strong><code><a href="class.spoofchecker.php#spoofchecker.constants.single-script-restrictive">Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE</a></code></strong> has been added.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>
  
 </div>

 






























<h2>Table of Contents</h2><ul class="chunklist chunklist_reference"><li><a href="spoofchecker.areconfusable.php">Spoofchecker::areConfusable</a> — Checks if given strings can be confused</li><li><a href="spoofchecker.construct.php">Spoofchecker::__construct</a> — Constructor</li><li><a href="spoofchecker.issuspicious.php">Spoofchecker::isSuspicious</a> — Checks if a given text contains any suspicious characters</li><li><a href="spoofchecker.setallowedlocales.php">Spoofchecker::setAllowedLocales</a> — Locales to use when running checks</li><li><a href="spoofchecker.setchecks.php">Spoofchecker::setChecks</a> — Set the checks to run</li><li><a href="spoofchecker.setrestrictionlevel.php">Spoofchecker::setRestrictionLevel</a> — Set the restriction level</li></ul>
</div>
<?php manual_footer($setup); ?>