• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • DOMDocument::createEntityReference()

    (PHP 5, PHP 7)

    Create new entity reference node

    说明

    publicDOMDocument::createEntityReference(string $name): DOMEntityReference

    This function creates a new instance of class DOMEntityReference.此节点出现在文档中,除非是用诸如DOMNode->appendChild()等函数来将其插入。

    参数

    $name

    The content of the entity reference, e.g. the entity reference minus the leading&and the trailing;characters.

    返回值

    The new DOMEntityReference or FALSE if an error occurred.

    错误/异常

    DOM_INVALID_CHARACTER_ERR

    Raised if$namecontains an invalid character.

    参见

    • DOMNode::appendChild() Adds new child at the end of the children
    • DOMDocument::createAttribute() Create new attribute
    • DOMDocument::createAttributeNS() Create new attribute node with an associated namespace
    • DOMDocument::createCDATASection() Create new cdata node
    • DOMDocument::createComment() Create new comment node
    • DOMDocument::createDocumentFragment() Create new document fragment
    • DOMDocument::createElement() Create new element node
    • DOMDocument::createElementNS() Create new element node with an associated namespace
    • DOMDocument::createProcessingInstruction() Creates new PI node
    • DOMDocument::createTextNode() Create new text node
    It appears that this does not work with numbered entities, only named entities.
    $nbspace = $dom->createEntityReference('nbsp');
    works
    $nbspace = $dom->createEntityReference('#160');
    does not. This makes this function rather useless when generating an XSL unless you modify the XSL doctype to include the named entity for the character you want.
    <?php
    /*Entity is a group of words which print a special symbol.
    Like if we want to show copy right symbol in html page then we use &copy; code and browser convert this to actual copyright symbol.
    There have lots of entity, you can find them all form http://dev.w3.org/html5/html-author/charref 
    if you want to use < or > or both <> into a node value than xml will give and warning or make this value as a node.
    So tell the xml parser that < or > is not tag symbol it is a entity.To do that you have to right &lt(<) and &gt;(>) instead of < and > symbol.
    Entity references always begin with an ampersand (&) and end with a semicolon (;).
    DO not need to use & and ; symbol begin and end of entity.Remove it when you want to use it to DOMDocument::createEntityReference
    Then append to to a tag where you want to show this symbol.Like below
    */
    $dom=new DOMDocument("1.0","UTF-8");
    $example=$dom->createElement("example","This is copyright ");
    $entity=$dom->createEntityReference("copy");
    $example->appendChild($entity);
    $dom->appendChild($example);
    echo $dom->saveXML();
    output is 
    This is copyright ©