php-html-parser icon indicating copy to clipboard operation
php-html-parser copied to clipboard

Fatal Error: Call to a member function name() on string

Open mark-8 opened this issue 4 years ago • 3 comments

Hi, Whilst parsing https://www.investmentweek.co.uk/news/4024910/asi-expands-sustainable-development-fund-range-em-launch

Fatal error: Uncaught Error: Call to a member function name() on string in \server\path\php-html-parser\src\PHPHtmlParser\Dom\Parser.php on line 40.

I believe it's failing on this tag <a tag="#&lt;SiteMetaDataProxy:0x007f593ebb6ba8&gt;" href="/tag/aberdeen-standard-investments">Aberdeen Standard Investments</a> - probably as a result of the 'tag' attribute.

Whilst I appreciate the source (out of our control) is the blame here, the fatal error crashes the whole process without a recovery mechanism.

The addition of a simple is_object( $activeNode->tag ) in the condition before the failure may be sufficient to resolve this, but I am not sufficiently familiar with the code to make that assertion.

mark-8 avatar Dec 14 '20 18:12 mark-8

Hi, This library is easy to use, I appreciated it.

But I face the same problem as well. While I can replace the failing tag with str_replace(), it would be nice if the parser can handle the attribute without the fatal error.

Thanks.

phattarachai avatar Apr 18 '21 15:04 phattarachai

Also experiencing this

Sadikk avatar Aug 02 '21 19:08 Sadikk

This should be fixed by PR https://github.com/paquettg/php-html-parser/pull/289

phpfui avatar Oct 07 '21 18:10 phpfui