DomNode->get_content

(No version information available, might be only in CVS)

DomNode->get_content — Gets content of node

Описание

string DomNode->get_content ( void )

This function returns the content of the actual node.

Пример #1 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();
}

?>

[an error occurred while processing the directive]

Коментарии

Автор:
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;
  }

?>
2005-04-11 12:41:44
http://php5.kiev.ua/manual/ru/function.domnode-get-content.html
Seems that get_content() always returns utf-8.
Opening document with something like 

$dom->dump_mem(true,"ISO-8859-1")

makes no difference!
2005-07-26 08:43:11
http://php5.kiev.ua/manual/ru/function.domnode-get-content.html
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!
2005-12-06 09:14:35
http://php5.kiev.ua/manual/ru/function.domnode-get-content.html
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;
  }

?>
2005-12-24 01:43:52
http://php5.kiev.ua/manual/ru/function.domnode-get-content.html
To print the node simply create a new document import the node and save it to html or whatever you need 

e.g.:

<?php
$temp 
= new DOMDocument('1.0''UTF-8');
$temp_node $temp->importNode($mynodeTRUE);
$temp->appendChild($temp_node);
$temp->saveHTML();
?>
2010-09-02 02:04:00
http://php5.kiev.ua/manual/ru/function.domnode-get-content.html

    Поддержать сайт на родительском проекте КГБ