You are here

class CharacterReference in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php \Masterminds\HTML5\Parser\CharacterReference

Manage entity references.

This is a simple resolver for HTML5 character reference entitites. See \Masterminds\HTML5\Entities for the list of supported entities.

Hierarchy

Expanded class hierarchy of CharacterReference

1 file declares its use of CharacterReference
CharacterReferenceTest.php in vendor/masterminds/html5/test/HTML5/Parser/CharacterReferenceTest.php
Test the Scanner. This requires the InputStream tests are all good.

File

vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php, line 12

Namespace

Masterminds\HTML5\Parser
View source
class CharacterReference {
  protected static $numeric_mask = array(
    0x0,
    0x2ffff,
    0,
    0xffff,
  );

  /**
   * Given a name (e.g.
   * 'amp'), lookup the UTF-8 character ('&')
   *
   * @param string $name
   *            The name to look up.
   * @return string The character sequence. In UTF-8 this may be more than one byte.
   */
  public static function lookupName($name) {

    // Do we really want to return NULL here? or FFFD
    return isset(Entities::$byName[$name]) ? Entities::$byName[$name] : null;
  }

  /**
   * Given a Unicode codepoint, return the UTF-8 character.
   *
   * (NOT USED ANYWHERE)
   */

  /*
   * public static function lookupCode($codePoint) { return 'POINT'; }
   */

  /**
   * Given a decimal number, return the UTF-8 character.
   */
  public static function lookupDecimal($int) {
    $entity = '&#' . $int . ';';

    // UNTESTED: This may fail on some planes. Couldn't find full documentation
    // on the value of the mask array.
    return mb_decode_numericentity($entity, static::$numeric_mask, 'utf-8');
  }

  /**
   * Given a hexidecimal number, return the UTF-8 character.
   */
  public static function lookupHex($hexdec) {
    return static::lookupDecimal(hexdec($hexdec));
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CharacterReference::$numeric_mask protected static property
CharacterReference::lookupDecimal public static function Given a decimal number, return the UTF-8 character.
CharacterReference::lookupHex public static function Given a hexidecimal number, return the UTF-8 character.
CharacterReference::lookupName public static function Given a name (e.g. 'amp'), lookup the UTF-8 character ('&')