23#if defined(HAVE_LIBXML) && defined(HAVE_DOM)
37 xmlNodePtr nodep =
NULL, oldnode =
NULL;
46 nodep = xmlNewText(BAD_CAST
value);
55 if (oldnode !=
NULL) {
56 php_libxml_node_decrement_resource((php_libxml_node_object *)intern);
58 php_libxml_increment_node_ptr((php_libxml_node_object *)intern, nodep, (
void *)intern);
81 smart_str_appends(&str, (
const char *) node->content);
119 const xmlChar *cur = php_dom_get_content_or_empty(node);
120 length = xmlUTF8Strlen(cur);
123 if (php_dom_follow_spec_intern(intern)) {
129 first = xmlUTF8Strndup(cur, (
int)
offset);
130 second = xmlUTF8Strsub(cur, (
int)
offset, (
int)(length -
offset));
132 xmlNodeSetContent(node, first);
133 nnode = xmlNewDocText(node->doc, second);
143 if (node->parent !=
NULL) {
145 xmlAddNextSibling(node, nnode);
168 if (xmlIsBlankNode(node)) {
zend_result dom_text_whole_text_read(dom_object *obj, zval *retval)
#define DOM_PROP_NODE(type, name, obj)
void php_dom_throw_error(dom_exception_code error_code, bool strict_error)
#define DOM_GET_OBJ(__ptr, __id, __prtype, __intern)
const XML_CDATA_SECTION_NODE
PHP_DOM_EXPORT xmlNodePtr dom_object_get_node(dom_object *obj)
struct _dom_object dom_object
PHP_DOM_EXPORT bool php_dom_create_object(xmlNodePtr obj, zval *return_value, dom_object *domobj)
ZEND_API zend_result zend_parse_parameters(uint32_t num_args, const char *type_spec,...)
ZEND_API ZEND_COLD void zend_argument_value_error(uint32_t arg_num, const char *format,...)
#define zend_parse_parameters_none()
#define ZEND_LONG_INT_OVFL(zlong)
ZEND_RESULT_CODE zend_result