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 <[email protected]> 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 <[email protected]> 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