Hi Looks good to me. But can you add the constants from: typedef enum { HTML_PARSE_RECOVER = 1<<0, /* Relaxed parsing */ HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */ HTML_PARSE_NOERROR = 1<<5, /* suppress error reports */ HTML_PARSE_NOWARNING= 1<<6, /* suppress warning reports */ HTML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */ HTML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */ HTML_PARSE_NONET = 1<<11,/* Forbid network access */ HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */ HTML_PARSE_COMPACT = 1<<16 /* compact small text nodes */ } htmlParserOption;
also to it, so that they are available from PHP? I don't like guessing integers :) Maybe we don't have to extra define the ones already defined in xmlParserOption , eg XML_PARSE_NOERROR, but there's no compagnion to HTML_PARSE_NODEFDTD and HTML_PARSE_NOIMPLIED chregu On 17.02.11 16:29, James Devine wrote: > Will do, thanks! > > On Thu, Feb 17, 2011 at 6:43 AM, Pierre Joye <pierre....@gmail.com> wrote: >> hi, >> >> Can you make a patch against trunk instead please? >> >> Also pls follow the CS: >> >> if (foo) { >> } >> >> Ideally attach your patch to a feature request at bugs.php.net, so we >> won't loose it :) >> >> thanks for your work! >> >> Cheers, >> >> On Thu, Feb 17, 2011 at 12:57 AM, James Devine <fxmul...@gmail.com> wrote: >>> I've included a patch for review adding the ability to optionally pass >>> options to the DOMDocument::loadHTML[File] functions >>> >>> >>> diff -ru php-5.3.5.orig/ext/dom/document.c php-5.3.5.new/ext/dom/document.c >>> --- php-5.3.5.orig/ext/dom/document.c 2010-04-02 14:08:15.000000000 -0600 >>> +++ php-5.3.5.new/ext/dom/document.c 2011-02-16 16:49:20.000000000 -0700 >>> @@ -149,10 +149,12 @@ >>> >>> ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_loadhtml, 0, 0, 1) >>> ZEND_ARG_INFO(0, source) >>> + ZEND_ARG_INFO(0, options) >>> ZEND_END_ARG_INFO(); >>> >>> ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_loadhtmlfile, 0, 0, 1) >>> ZEND_ARG_INFO(0, source) >>> + ZEND_ARG_INFO(0, options) >>> ZEND_END_ARG_INFO(); >>> >>> ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_document_savehtml, 0, 0, 0) >>> @@ -2157,10 +2159,11 @@ >>> char *source; >>> int source_len, refcount, ret; >>> htmlParserCtxtPtr ctxt; >>> + int options = 0; >>> >>> id = getThis(); >>> >>> - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", >>> &source, &source_len) == FAILURE) { >>> + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", >>> &source, &source_len, &options) == FAILURE) { >>> return; >>> } >>> >>> @@ -2180,6 +2183,9 @@ >>> RETURN_FALSE; >>> } >>> >>> + if(options) >>> + htmlCtxtUseOptions(ctxt, options); >>> + >>> ctxt->vctxt.error = php_libxml_ctx_error; >>> ctxt->vctxt.warning = php_libxml_ctx_warning; >>> if (ctxt->sax != NULL) { >>> >>> -- >>> PHP Internals - PHP Runtime Development Mailing List >>> To unsubscribe, visit: http://www.php.net/unsub.php >>> >>> >> >> >> >> -- >> Pierre >> >> @pierrejoye | http://blog.thepimp.net | http://www.libgd.org >> > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php