Naar de hoofdinhoud
SubtitleMatrix

HTML-tags uit ondertitels

Tekst en stijlMarkup en tags verwijderen
Of plak ondertiteltekst

Opties

Eén vak, zeven keuzes, en elke keuze heeft zijn eigen pagina. Cursief, vet, onderstreept en kleur verwijderen die ene soort bereik en laten de rest van de opmaak van de regel met rust. Alles verwijdert elk bereik dat het hulpmiddel modelleert — die vier plus karaoke-timing — en laat al het andere in de tekst onaangeroerd. HTML doet hetzelfde en veegt daarna ook de opmaak tussen punthaken weg die in de tekst is achtergebleven omdat het hulpmiddel die niet modelleert, zoals de sprekerstags <v Bob> en <c.className> van VTT. ASS doet hetzelfde in plaats daarvan voor override-blokken en ruimt de {...}-codes op die bij het inlezen niet herkend zijn, zoals {\fad(500,500)}. Deze pagina vult het vak met de keuze die haar titel noemt en toont geen andere.

In welke beeldsnelheid de tijden worden geteld. Op de formaatpagina’s is dit wat MicroDVD nodig heeft, want het slaat tijden op als framenummers. Op de beeldsnelheidspagina’s is het de snelheid waartegen het bestand getimed is — de versie waarvoor de ondertitels gemaakt zijn — en het tweede vak op de pagina neemt de snelheid van de video die je gaat gebruiken. 23,976, 24, 25, 29,97, 30, 50, 59,94 en 60 zijn de gebruikelijke. Een verkeerde waarde verschuift de hele tijdlijn, en op de beeldsnelheidspagina’s verschuift ze die met een verhouding in plaats van met een vast bedrag.

Deze pagina haalt de opmaak uit ondertiteltekst: elke opmaakreeks die een bestand draagt, plus de tags tussen punthaken die in de tekst zelf zijn achtergebleven. Wat terugkomt is platte leesbare dialoog — de woorden, de timing en niets anders. Het is de run voor een bestand waarvan de tekst nog dingen bevat zoals een sprekertag, een klassetag of een losse sluittag midden in een regel.

Die tweede helft is de reden dat deze pagina naast Alle opmaak uit ondertitels verwijderen bestaat. De tool modelleert de vier nadruktags die ze begrijpt en laat al het andere precies staan waar ze het vond, en dat is de juiste keuze tijdens het lezen van een bestand — opmaak stil eten die ze niet herkent, zou gegevensverlies zijn. Maar het betekent wel dat een WebVTT-bestand met `<v Bob>` erin die tag door elke andere opschoning op de site houdt, en een bestand dat door tekstherkenning of handmatig bewerken is gegaan, heeft vaak een niet-passende sluittag midden in een regel. Deze pagina is de pagina die ze wegveegt, en haar titel zegt dat.

De veegactie is met opzet smal. Ze verwijdert alleen iets dat op een tag lijkt — een letter of een schuine streep direct na de openingshaak. Een vergelijking in de dialoog zoals `5 < 10` en een hartje zoals `<3` blijven volledig met rust, omdat een lossere regel de woorden tussen de twee haken zou verwijderen en niets in de uitvoer zou achterlaten waaruit blijkt dat ze er waren. Wat niet gemodelleerd is, wordt niet geraden.

Niets wordt geüpload; het bestand wordt in de browsertab gelezen en geschreven. Een bestand dat al platte tekst is, komt byte voor byte terug, wat ook de goedkoopste manier is om erachter te komen of de onzichtbare opmaak die je vermoedt er werkelijk staat.

Voorbeelden

Een WebVTT-bestand met een sprekertag en een klassetag

Invoer

WEBVTT

00:00:01.000 --> 00:00:02.000
<v Bob><c.yellow>Hello there</c>

00:00:03.000 --> 00:00:04.000
<i>She left</i> <ruby>東京<rt>とうきょう</rt></ruby>.

Uitvoer

WEBVTT

00:00:01.000 --> 00:00:02.000
Hello there

00:00:03.000 --> 00:00:04.000
She left 東京とうきょう.

Sprekertag, klassetag, cursief en ruby-annotatie gaan allemaal weg, en de woorden blijven over. Let op het tweede blok: de lezing binnen `<rt>` was tekst in plaats van opmaak, dus die blijft — de uitvoer toont de kana naast de kanji, wat een speler toch al zou hebben getoond.

Een SRT-bestand met een niet-passende sluittag

Invoer

1
00:00:01,000 --> 00:00:02,000
<i>Hello</i> there</i> again.

2
00:00:03,000 --> 00:00:04,000
<b>And</b> one more.

Uitvoer

1
00:00:01,000 --> 00:00:02,000
Hello there again.

2
00:00:03,000 --> 00:00:04,000
And one more.

Het paar rond `Hello` werd als één reeks gelezen en in één keer verwijderd; de losse `</i>` na `there` bleef door de lezer in de tekst staan en wordt hier weggeveegd. Beide verdwijnen uit de uitvoer, en dat is precies het punt van de twee taken in één run — zulke niet-passende tags zijn wat een bestand terugkrijgt na tekstherkenning of handmatig bewerken.

Vergelijkingen en symbolen zijn geen tags

Invoer

1
00:00:01,000 --> 00:00:02,000
5 < 10 and 3 > 1

2
00:00:03,000 --> 00:00:04,000
<3 you

Uitvoer

1
00:00:01,000 --> 00:00:02,000
5 < 10 and 3 > 1

2
00:00:03,000 --> 00:00:04,000
<3 you

Er wordt niets verwijderd, en dit is de helft van de pagina die het zwaarst telt. De veegactie raakt alleen iets dat op een tag lijkt, dus een letter of een schuine streep direct na de haak; een wiskundige vergelijking en een hartje van een kleiner-dan-teken overleven beide ongemoeid, en alles wat tussen twee haken staat ook.

Veelgestelde vragen

Wat is het verschil tussen deze pagina en alle opmaak strippen?

Deze doet dat werk en gaat daarna verder. Opmaak verwijderen haalt de nadrukreeksen weg die de tool modelleert — cursief, vet, onderstreping, kleur en karaoke. Deze pagina verwijdert die ook, en veegt daarna de tags tussen punthaken weg die in de tekst zelf zijn achtergebleven: sprekertags, klassetags, ruby-opmaak en losse of niet-passende sluittags. Heeft je bestand zulke opmaak niet, dan geven de twee pagina’s dezelfde uitvoer.

Welke tags verwijdert de veegactie, en welke laat ze staan?

Ze verwijdert alles wat op een tag lijkt: een openingshaak direct gevolgd door een letter of een schuine streep, tot aan de volgende sluithaak. Wat ze niet aanraakt, is een haak gevolgd door iets anders, dus een vergelijking zoals `5 < 10 and 3 > 1` en een symbool zoals `<3` passeren ongemoeid. Die smalheid is met opzet — een bredere regel zou dialoog tussen twee haken verwijderen en geen spoor in de uitvoer achterlaten.

Verwijdert deze pagina de woorden die binnen een verwijderde tag stonden?

Dat hangt af van wat erin stond. De attributen van een tag gaan mee, en alles wat genest is binnen een tag die zelf wordt verwijderd ook — de lezing binnen een ruby-annotatie is bijvoorbeeld tekst en blijft in de regel staan terwijl de ruby-opmaak eromheen verdwijnt. Wat nooit gebeurt, is tekst verwijderen die tussen twee haken in gewone dialoog staat, want die ziet er niet uit als een tag.

Is de uitvoer nog geldig in mijn speler nu de opmaak weg is?

Ja, en betrouwbaarder dan voorheen. WebVTT accepteert een niet-passende sluittag zonder klagen, maar een sprekertag waarvan de sluithaak ontbreekt kan in sommige spelers de rest van de regel opslokken, en spelers zijn het onderling oneens over wat een onbekende tag betekent. Platte tekst kent die dubbelzinnigheid niet, en daarom is een bestand voor een platform dat opmaak overschrijft vaak beter af opgeschoond dan gestyled.

Kan ik alleen de achtergebleven opmaak verwijderen en mijn cursief houden?

Niet op deze pagina: de nadrukreeksen gaan eerst weg en de veegactie loopt daarna, dus een bestand met cursief komt zonder cursief terug. Die volgorde is niet willekeurig — opmaak verwijderen maakt de tekst korter, en elke reeks erna zou opnieuw moeten worden berekend om naar de juiste tekens te blijven wijzen. De twee taken samen doen is wat het resultaat exact maakt, dus er is hier geen tussenstand.

Waarom meldde de run niets terwijl mijn bestand duidelijk opmaak bevatte?

De waarschijnlijke reden is dat de opmaak niet op een tag lijkt: een haak gevolgd door een spatie, een cijfer of een symbool blijft met opzet met rust, dus er werd niets verwijderd en het bestand kwam byte voor byte terug. Bevat het bestand wel iets zoals `<v Bob>` en komt het toch ongewijzigd terug, controleer dan of het het bestand is dat je denkt — de pagina leest een bestand naar het formaat dat het werkelijk is, niet naar de extensie die het draagt.

Gerelateerde hulpmiddelen