Jan Tojnar
f1c6297e3c
Fix discarding html[lang]
...
`DOMDocument::loadHTML` will parse HTML documents as ISO-8859-1 if there is no `meta[charset]` tag. This means that UTF-8-encoded HTML fragments such as those coming from JSON-LD `articleBody` field would be parsed with incorrect encoding.
In f14428e4c0 , we tried to resolve it by putting `meta[charset]` tag at the start of the HTML fragment. Unfortunately, it turns out that causes parser to auto-insert a `html` element, losing the attributes of the original `html` tag.
Let’s try to insert the `meta[charset]` tag into the proper place in the HTML document.
We do not need to use the same trick with `JSLikeHTMLElement::__set`.
That expects smaller HTML fragments, not `html` documents, so creating `html` and `head` elements will not be a problem.
(cherry picked from commit efbbc86df9 )
Had to strip type hints since we still target PHP 5.6.
2025-03-04 01:59:42 +01:00
Jan Tojnar
5afefcff34
tests: Remove pointless debug assignment
...
It is unused since 8ab7d76cd5 .
(cherry picked from commit 541fab34a0 )
2025-03-04 01:55:00 +01:00
Jan Tojnar
eb6ca1a99b
tests: Use ::class for DOMDocument class name
...
Also capitalize it properly.
(cherry picked from commit 90869d877e )
2025-03-04 01:53:49 +01:00
Jan Tojnar
2ae758555a
Remove extra set_error_handler callback argument
...
It is unused and would cause an error on PHP ≥ 8.0:
https://www.php.net/manual/en/function.set-error-handler.php#refsect1-function.set-error-handler-parameters
Not sure if the handler is even necessary – it was introduced in 175196d6c2 but I did not manage to reproduce the original error (Entity 'nbsp' not defined). It was probably fixed by f2a43b476c .
(based on commit da755013aa )
2025-02-23 02:32:57 +01:00
Jan Tojnar
f5e25f3c9c
Avoid E_STRICT constant
...
It will be deprecated in PHP 8.4 and it is meaningless nowadays anyway:
https://wiki.php.net/rfc/deprecations_php_8_4#remove_e_strict_error_level_and_deprecate_e_strict_constant
The use of the constant was introduced in 175196d6c2 .
(cherry picked from commit c7b10dcc45 )
2025-02-23 02:32:57 +01:00
Jan Tojnar
a209429e8b
tests: Fix “THE ERROR HANDLER HAS CHANGED!”
...
(cherry picked from commit 23f824a1ce )
2025-02-23 02:32:57 +01:00
peter279k
97c02e8ad4
Using assertSame to make assertion equal strict
2021-12-17 19:09:36 +08:00
Jeremy Benoist
d0af21814a
Ditch assertContains & assertNotContains
2021-11-29 21:04:56 +01:00
Jeremy Benoist
ea1368fac0
Body can be wiped without tidy
...
Re-create it in that case.
Also run CS-Fixer.
2021-03-08 11:59:24 +01:00
Jeremy Benoist
bb65caf864
Fix “A non well formed numeric value encountered”
2019-05-11 21:58:11 +02:00
Jeremy Benoist
74d9cc605a
Enable PHPStan
2019-02-07 15:51:31 +01:00
Jeremy Benoist
2dce2879bf
Update fixer rules
...
Following graby, wallabag, etc.
2019-02-04 11:21:34 +01:00
Jérémy Benoist and GitHub
bbe9021fe7
Merge pull request #36 from Kdecherf/failing-test
...
tests: fix possible typo in testPostFilters() leading to failure
2018-12-10 12:02:43 +01:00
Jeremy Benoist
9ab6d0d9e8
Updating to 7.2
2018-11-26 16:33:38 +01:00
Kevin Decherf
3a7350a8a7
tests: fix possible typo in testPostFilters() leading to failure
...
Signed-off-by: Kevin Decherf <kevin@kdecherf.com >
2017-11-01 16:46:01 +01:00
Kevin Decherf
4c68cc9f09
Keep elements with 'footnote' as possible candidates
...
Should fix https://github.com/wallabag/wallabag/issues/3100
Signed-off-by: Kevin Decherf <kevin@kdecherf.com >
2017-11-01 16:45:07 +01:00
Jeremy Benoist
05089bbd03
Add missing HTML5 class
2017-06-30 16:32:37 +02:00
Jeremy Benoist
85fb92a042
Fix tests
2017-05-19 16:02:36 +02:00
Jeremy Benoist
ff754b80bd
Avoid childnode becoming null to generate a warning
2017-01-10 10:58:12 +01:00
Jeremy Benoist
2ef400bf73
Enable php-cs-fixer
2016-06-23 07:28:10 +02:00
Jeremy Benoist
00f622e9b7
Revert BC changes
...
- avoid method signature update
- revert moving logic out of the constructor
2016-03-01 15:07:32 +01:00
Jeremy Benoist
8ab7d76cd5
Use Monolog instead of custom solution
...
Remove that ugly `openlog` & `syslog`
2016-02-29 13:01:40 +01:00
Jeremy Benoist
149a333b40
Remove addPreFilter
...
Pre filters are used in the __construct so adding more pre filters once the object is instantiated is useless.
2016-02-29 12:10:56 +01:00
Jeremy Benoist
209c404d7b
Fix instanceof DOMElement
...
We previously checked `instanceof DOMElement` which was wrong since we
are in the namespace class, the class `Readability\DOMElement` does not
exists.
2016-02-29 11:53:03 +01:00
Jeremy Benoist
dc590542f0
Avoid adding id that might already exists
...
We append a new node when it isn't a `div` or `p` (like when it's an `article`) with the same id which generate a DOM error "DOMElement::setAttribute(): ID blabla already defined".
2016-02-29 10:21:52 +01:00
Jeremy Benoist
7c30d76b6e
Ensure tests are running without Tidy
2015-11-09 19:59:18 +01:00
Jeremy Benoist
b77876b30a
Do not remove nofollow links
...
Most the time, they can be usefull.
At least, it'll be a link to something unrelated. But we won't lose a link inside the content.
Also, adding some extra space.
2015-09-22 19:25:57 +02:00
Jeremy Benoist
175196d6c2
Avoid error with
...
Fix #5
2015-09-18 19:10:48 +02:00
Jeremy Benoist
908a49824f
Add test on title
2015-08-24 11:09:47 +02:00
Jeremy Benoist
1963319a55
Improve Travis & add Scrutinizer
...
+ CS
+ Update README
2015-04-29 10:24:24 +02:00
Jeremy
b81cf8d1c5
Adjust test & php compatible version
2014-12-12 12:13:35 +01:00
Jeremy
881e441bdf
Initial commit
2014-12-12 11:43:29 +01:00