Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : DOM XML Functions : DomNode->get_content

DomNode->get_content

Gets content of node ()
string DomNode->get_content ( )

Example 567. Getting a content

<?php
if (!$dom = domxml_open_mem($xmlstr)) {
 echo
"Error while parsing the document\n";
 exit;
}

$root = $dom->document_element();

$node_array = $root->get_elements_by_tagname("element");

for (
$i = 0; $i<count($node_array); $i++) {
   
$node = $node_array[$i];
   echo
"The element[$i] is: " . $node->get_content();
}

?>

Code Examples / Notes » domnode_get_content

sysadmin

Seems that get_content() always returns utf-8.
Opening document with something like
$dom->dump_mem(true,"ISO-8859-1")
makes no difference!


d dot cicognani

Only to correct a very small error, but maybe difficult to find in che function GetContentAsString posted by someone in April 2005.
There was $anode-node_value() instead of $anode->node_value().
This is the right version:
<?php
function GetContentAsString($node) {    
 $st = "";
 foreach ($node->child_nodes() as $cnode)
  if ($cnode->node_type()==XML_TEXT_NODE)
    $st .= $cnode->node_value();
  else if ($cnode->node_type()==XML_ELEMENT_NODE) {
    $st .= "<" . $cnode->node_name();
    if ($attribnodes=$cnode->attributes()) {
      $st .= " ";
      foreach ($attribnodes as $anode)
        $st .= $anode->node_name() . "='" .
          $anode->node_value() . "'";
      }    
    $nodeText = GetContentAsString($cnode);
    if (empty($nodeText) && !$attribnodes)
      $st .= " />";        // unary
    else
      $st .= ">" . $nodeText . "</" .
        $cnode->node_name() . ">";
    }
 return $st;
 }
?>


11-apr-2005 05:41

Here's a routine I wrote that acts like get_content() but returns embedded XHTML in the string returned.  I needed this as I was wanting to embed HTML formatting codes in my HTML (e.g., "<br />") and converting them to HTML entities or using CDATA was a huge hassle.
<?php
function GetContentAsString($node) {
 $st = "";
 foreach ($node->child_nodes() as $cnode)
   if ($cnode->node_type()==XML_TEXT_NODE)
     $st .= $cnode->node_value();
   else if ($cnode->node_type()==XML_ELEMENT_NODE) {
     $st .= "<" . $cnode->node_name();
     if ($attribnodes=$cnode->attributes()) {
       $st .= " ";
       foreach ($attribnodes as $anode)
         $st .= $anode->node_name() . "='" .
           $anode-node_value() . "'";
       }
     $nodeText = GetContentAsString($cnode);
     if (empty($nodeText) && !$attribnodes)
       $st .= " />"; // unary
     else
       $st .= ">" . $nodeText . "</" .
         $cnode->node_name() . ">";
     }
 return $st;
 }
?>


krautman

get_content() always returns UTF-8 (as should be!).
To get the content right just code it like
$myContent = utf8_decode($myNode->get_content());
Works fine!


Change Language


Follow Navioo On Twitter
DomAttribute->name
DomAttribute->set_value
DomAttribute->specified
DomAttribute->value
DomDocument->add_root
DomDocument->create_attribute
DomDocument->create_cdata_section
DomDocument->create_comment
DomDocument->create_element_ns
DomDocument->create_element
DomDocument->create_entity_reference
DomDocument->create_processing_instruction
DomDocument->create_text_node
DomDocument->doctype
DomDocument->document_element
DomDocument->dump_file
DomDocument->dump_mem
DomDocument->get_element_by_id
DomDocument->get_elements_by_tagname
DomDocument->html_dump_mem
DomDocument->xinclude
DomDocumentType->entities()
DomDocumentType->internal_subset()
DomDocumentType->name()
DomDocumentType->notations()
DomDocumentType->public_id()
DomDocumentType->system_id()
DomElement->get_attribute_node()
DomElement->get_attribute()
DomElement->get_elements_by_tagname()
DomElement->has_attribute()
DomElement->remove_attribute()
DomElement->set_attribute_node()
DomElement->set_attribute()
DomElement->tagname()
DomNode->add_namespace
DomNode->append_child
DomNode->append_sibling
DomNode->attributes
DomNode->child_nodes
DomNode->clone_node
DomNode->dump_node
DomNode->first_child
DomNode->get_content
DomNode->has_attributes
DomNode->has_child_nodes
DomNode->insert_before
DomNode->is_blank_node
DomNode->last_child
DomNode->next_sibling
DomNode->node_name
DomNode->node_type
DomNode->node_value
DomNode->owner_document
DomNode->parent_node
DomNode->prefix
DomNode->previous_sibling
DomNode->remove_child
DomNode->replace_child
DomNode->replace_node
DomNode->set_content
DomNode->set_name
DomNode->set_namespace
DomNode->unlink_node
DomProcessingInstruction->data
DomProcessingInstruction->target
DomXsltStylesheet->process()
DomXsltStylesheet->result_dump_file()
DomXsltStylesheet->result_dump_mem()
domxml_new_doc
domxml_open_file
domxml_open_mem
domxml_version
domxml_xmltree
domxml_xslt_stylesheet_doc
domxml_xslt_stylesheet_file
domxml_xslt_stylesheet
domxml_xslt_version
xpath_eval_expression
xpath_eval
xpath_new_context
xpath_register_ns_auto
xpath_register_ns
xptr_eval
xptr_new_context
eXTReMe Tracker