Skip to content

Commit dbc2e24

Browse files
authored
Merge pull request #4224 from m7913d/fix_s_tag
Add support for <s> tag when converting HTML to RichText
2 parents 3e52499 + e78e7ea commit dbc2e24

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org).
2525

2626
### Fixed
2727

28-
- Nothing yet.
28+
- Add support for `<s>` tag when converting HTML to RichText. [Issue #4223](https://github.com/PHPOffice/PhpSpreadsheet/issues/4223) [PR #4224](https://github.com/PHPOffice/PhpSpreadsheet/pull/4224)
2929

3030
## 2024-11-10 - 3.4.0
3131

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: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,26 @@ 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::assertNotNull($elements[0]->getFont());
63+
self::assertFalse($elements[0]->getFont()->getStrikethrough());
64+
65+
self::assertSame($elements[1]->getText(), 'test');
66+
self::assertNotNull($elements[1]->getFont());
67+
self::assertTrue($elements[1]->getFont()->getStrikethrough());
68+
69+
self::assertSame($elements[2]->getText(), 'world');
70+
self::assertNotNull($elements[2]->getFont());
71+
self::assertFalse($elements[2]->getFont()->getStrikethrough());
72+
}
5173
}

0 commit comments

Comments
 (0)