Or just use utf8_encode($text), at least if your input is iso-8859-1
all text methods in domxml expect utf-8 encoded strings as input.
DomDocument::create_text_node
(PHP 4 >= 4.1.0)
DomDocument::create_text_node — Create new text node
Opis
This function returns a new instance of class DomText. The content of the text is the value of the passed parameter. Ten węzeł nie pojawi się w dokumencie dopóki nie zostanie wstawiony, np. funkcją domnode_append_child().
The return value is FALSE if an error occurred.
See also domnode_append_child(), domdocument_create_element(), domdocument_create_comment(), domdocument_create_text(), domdocument_create_attribute(), domdocument_create_processing_instruction(), domdocument_create_entity_reference(), and domnode_insert_before().
chregu at php dot net
12-Dec-2002 04:29
hlubek at networkteam dot com
01-Jun-2002 09:15
Ever tried to insert special characters e.g. German ä,ü,ö,ß with this function?
Or to mix normal text with entities?
In my scripts I use a function like this:
$translateSpecial = array(
"ä" => "#228",
"ü" => "#252",
"ö" => "#246",
"Ä" => "#196",
"Ü" => "#220",
"Ö" => "#214",
"ß" => "#223"
);
$buffer = "";
for($i = 0; $i < strlen($value); $i++)
{
if(!$translateSpecial[$value{$i}])
$buffer .= $value{$i};
else
{
$node->append_child($xmldoc->create_text_node($buffer));
$buffer = "";
$node->append_child($xmldoc->
create_entity_reference($translateSpecial[$value{$i}]));
}
}
$node->append_child($xmldoc->create_text_node($buffer));
