Skip to content

Commit c1c1272

Browse files
committed
Add support for <s> tag when converting HTML to RichText
Fixes #4223
1 parent 7c973ab commit c1c1272

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/PhpSpreadsheet/Helper/Html.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,7 @@ class Html
561561
'u' => [self::class, 'startUnderlineTag'],
562562
'ins' => [self::class, 'startUnderlineTag'],
563563
'del' => [self::class, 'startStrikethruTag'],
564+
's' => [self::class, 'startStrikethruTag'],
564565
'sup' => [self::class, 'startSuperscriptTag'],
565566
'sub' => [self::class, 'startSubscriptTag'],
566567
];
@@ -575,6 +576,7 @@ class Html
575576
'u' => [self::class, 'endUnderlineTag'],
576577
'ins' => [self::class, 'endUnderlineTag'],
577578
'del' => [self::class, 'endStrikethruTag'],
579+
's' => [self::class, 'endStrikethruTag'],
578580
'sup' => [self::class, 'endSuperscriptTag'],
579581
'sub' => [self::class, 'endSubscriptTag'],
580582
'br' => [self::class, 'breakTag'],

tests/PhpSpreadsheetTests/Helper/HtmlTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,23 @@ public function testLiTag(): void
4848

4949
self::assertSame($expected, $actual->getPlainText());
5050
}
51+
52+
public function testSTag(): void
53+
{
54+
$html = new Html();
55+
$input = 'Hello <s>test</s>world';
56+
$richText = $html->toRichTextObject($input);
57+
$elements = $richText->getRichTextElements();
58+
59+
self::assertSame(count($elements), 3);
60+
61+
self::assertSame($elements[0]->getText(), 'Hello ');
62+
self::assertTrue($elements[0]->getFont() === null || !$elements[0]->getFont()->getStrikethrough());
63+
64+
self::assertSame($elements[1]->getText(), 'test');
65+
self::assertTrue($elements[1]->getFont() !== null && $elements[1]->getFont()->getStrikethrough());
66+
67+
self::assertSame($elements[2]->getText(), 'world');
68+
self::assertTrue($elements[2]->getFont() === null || !$elements[2]->getFont()->getStrikethrough());
69+
}
5170
}

0 commit comments

Comments
 (0)