Skip to content

Commit

Permalink
feat(util): remove unnecessary whitespaces from html
Browse files Browse the repository at this point in the history
these can break line-clamp behaviour
  • Loading branch information
tkohr committed Nov 3, 2023
1 parent dbc10d3 commit ba55fbf
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
8 changes: 8 additions & 0 deletions libs/util/shared/src/lib/utils/strip-html.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ describe('strip HTML', () => {
const html = '<b>hello</b>'
expect(stripHtml(html)).toBe('hello')
})
it('removes html tags and unnecessary whitespaces ', () => {
const html = `<div>Service WFS pour les concentrations moyennes journalières des principaux polluants.
<br /></div><div><br /></div><div>Concentrations moyennes journalières issues du réseau fixe des principaux polluants réglementés</div>dans l’air sur la région Hauts-de-France : dioxyde de soufre SO2, monoxyde d’azote NO et dioxyde d’azote<br />NO2, particules en suspension PM10, particules en suspension PM2.5, ozone O3, benzène C6H6,<br />monoxyde de carbone CO. Toutes les données fournies sont en μg/m³ (microgramme par mètre cube)<br />sauf CO (mg/m³).<br /><span style='font-weight: bold;'>Généalogie au sens Inspire :</span> Mesures de terrain automatiques. Les concentrations moyennes ont été<br />calculées conformément au guide méthodologique pour le calcul des statistiques relative à la qualité<br />de l’air (LCSQA 2016) à partir des données mesurées selon`
expect(stripHtml(html)).toBe(
`Service WFS pour les concentrations moyennes journalières des principaux polluants. Concentrations moyennes journalières issues du réseau fixe des principaux polluants réglementésdans l’air sur la région Hauts-de-France : dioxyde de soufre SO2, monoxyde d’azote NO et dioxyde d’azoteNO2, particules en suspension PM10, particules en suspension PM2.5, ozone O3, benzène C6H6,monoxyde de carbone CO. Toutes les données fournies sont en μg/m³ (microgramme par mètre cube)sauf CO (mg/m³).Généalogie au sens Inspire : Mesures de terrain automatiques. Les concentrations moyennes ont étécalculées conformément au guide méthodologique pour le calcul des statistiques relative à la qualitéde l’air (LCSQA 2016) à partir des données mesurées selon`
)
})
})
describe('when no HTML tags', () => {
it('return same string', () => {
Expand Down
2 changes: 1 addition & 1 deletion libs/util/shared/src/lib/utils/strip-html.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export const stripHtml = function (html: string): string {
const doc = new DOMParser().parseFromString(html, 'text/html')
return doc.body.textContent || ''
return doc.body.textContent.replace(/\s+/g, ' ').trim() || ''
}

0 comments on commit ba55fbf

Please sign in to comment.