Hopp til hovedinnhold
SubtitleMatrix

Fjern HTML-tagger fra undertekster

Tekst og stilFjern markup og tagger
Eller lim inn underteksttekst

Innstillinger

Én boks, sju valg, og hvert valg har sin egen side. Kursiv, fet, understreking og farge fjerner den ene typen område og lar resten av linjens formatering være. Alle fjerner hvert område verktøyet modellerer — de fire pluss karaoketiming — mens alt annet i teksten blir stående urørt. HTML gjør det samme og feier deretter ut vinkelparentesmarkupen som ble stående i teksten fordi verktøyet ikke modellerer den, som VTTs <v Bob>-talertagger og <c.className>. ASS gjør det samme for overstyringsblokker i stedet, og fjerner {...}-kodene som ikke ble gjenkjent ved lesing, som {\fad(500,500)}. Denne siden fyller boksen med valget tittelen navngir og lister ingen andre.

Hvilken bildefrekvens tidene telles i. På formatsidene er det dette MicroDVD trenger, fordi det lagrer tid som bildenummer. På sidene for bildefrekvens er det frekvensen filen ble tidsstyrt mot — versjonen undertekstene ble laget for — og sidens andre boks tar frekvensen til videoen du skal bruke dem med. 23,976, 24, 25, 29,97, 30, 50, 59,94 og 60 er de vanlige. Tar du feil, forskyves hele tidslinjen, og på bildefrekvenssidene forskyves den med et forhold i stedet for et fast beløp.

Denne siden tar markupen ut av undertekstteksten: hvert stilområde en fil bærer, pluss vinkelparentes-taggene som er igjen i selve teksten. Det som kommer tilbake, er ren lesbar replikk — ordene, tidene og ingenting annet. Det er kjøringen for en fil der teksten fortsatt har ting som en talertag, en klassetag eller en enslig avslutningstag midt i en linje.

Den andre halvdelen er grunnen til at denne siden finnes ved siden av siden som fjerner all formatering. Verktøyet modellerer de fire uthevingstaggene det forstår og lar alt annet ligge nøyaktig der det fant det, som er riktig mens en fil leses — å spise markup det ikke kjenner igjen, ville stille være å miste data. Men det betyr at en WebVTT-fil med `<v Bob>` i beholder den taggen gjennom all annen opprydding på nettstedet, og en fil som har vært gjennom OCR eller håndredigering, har ofte en uparet avslutningstag midt i en linje. Denne siden er den som feier dem ut, og tittelen sier det.

Feiingen er med vilje smal. Den fjerner bare noe som er formet som en tag — en bokstav eller en skråstrek rett etter åpningsparentesen. En sammenligning i replikken som `5 < 10` og et trist ansikt som `<3` får stå helt i fred, fordi en løsere regel ville slette ordene mellom de to parentesene og ikke la noe i utdataene vise at den hadde gjort det. Det som ikke er modellert, gjettes ikke på.

Ingenting lastes opp; filen leses og skrives inne i nettleserfanen. En fil som allerede er ren tekst, kommer tilbake byte for byte, som også er den billigste måten å finne ut om den usynlige markupen du mistenker, virkelig er der.

Eksempler

En WebVTT-fil med en talertag og en klassetag

Inndata

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>.

Resultat

WEBVTT

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

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

Talertag, klassetag, kursiv og ruby-merknad går alle, og ordene står igjen. Legg merke til den andre tekstblokken: lesningen inne i `<rt>` var tekst og ikke markup, så den blir stående — utdataene viser kanaene ved siden av kanjiene, som er det en avspiller uansett ville vist.

En SRT-fil med en uparet avslutningstag

Inndata

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.

Resultat

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

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

Paret rundt `Hello` ble lest som et område og fjernet som ett; den enslige `</i>` etter `there` ble latt igjen i teksten av leseren og feies ut her. Begge ender utenfor utdataene, som er poenget med å gjøre de to jobbene i én kjøring — uparede tagger som dette er det en fil kommer tilbake med etter OCR eller håndredigering.

Sammenligninger og symboler er ikke tagger

Inndata

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

Resultat

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

Ingenting fjernes, og dette er halvdelen av siden som betyr mest. Feiingen rører bare noe formet som en tag, altså en bokstav eller en skråstrek rett etter parentesen; en matematisk sammenligning og et hjerte laget av et mindre-enn-tegn overlever begge urørt, og det gjør også alt som er skrevet mellom to parenteser.

Ofte stilte spørsmål

Hva er forskjellen mellom denne siden og å fjerne all formatering?

Denne gjør den jobben og går lenger. Å fjerne formatering tar ut uthevingsområdene verktøyet modellerer — kursiv, fet, understrek, farge og karaoke. Denne siden fjerner også dem og feier så ut vinkelparentes-taggene som er igjen i selve teksten: talertagger, klassetagger, ruby-markup og enslige eller uparede avslutningstagger. Har filen din ingen slik markup, gir de to sidene samme utdata.

Hvilke tagger fjerner feiingen, og hvilke lar den stå?

Den fjerner alt formet som en tag: en åpningsparentes umiddelbart fulgt av en bokstav eller en skråstrek, fram til neste lukkeparentes. Det den ikke rører, er en parentes fulgt av noe annet, så en sammenligning som `5 < 10 and 3 > 1` og et symbol som `<3` går gjennom urørt. Den smalheten er med vilje — en videre regel ville slettet replikk mellom to parenteser uten å legge igjen spor i utdataene.

Fjerner denne siden ordene som sto inne i en fjernet tag?

Det avhenger av hva som sto der. En tags egne attributter går med den, og det gjør også alt som ligger nøstet inne i en tag som selv fjernes — lesningen inne i en ruby-merknad er for eksempel tekst og blir i linjen mens ruby-markupen rundt forsvinner. Det som aldri skjer, er å fjerne tekst som sitter mellom to parenteser i vanlig replikk, fordi den ikke er formet som en tag.

Er utdataene fortsatt gyldige i avspilleren min når markupen er borte?

Ja, og mer pålitelig enn før. WebVTT godtar en uparet avslutningstag uten å klage, men en talertag der lukkeparentesen mangler, kan svelge resten av linjen i noen avspillere, og ulike avspillere er uenige om hva en ukjent tag betyr. Ren tekst har ingen slik tvetydighet, som er hvorfor en fil for en plattform som overstyrer stil, ofte er bedre tjent med å være ryddet enn stylet.

Kan jeg fjerne bare den gjenværende markupen og beholde kursiven min?

Ikke på denne siden: uthevingsområdene går først, og feiingen kjører etter, så en fil med kursiv kommer tilbake uten den. Den rekkefølgen er ikke tilfeldig — å fjerne markup gjør teksten kortere, og hvert område etter fjerningen måtte regnes på nytt for å peke på de riktige tegnene. Å gjøre de to jobbene sammen er det som gjør resultatet nøyaktig, så det finnes ingen halvveis innstilling her.

Hvorfor rapporterte kjøringen ingenting når filen min tydelig hadde markup i seg?

Den sannsynlige grunnen er at markupen ikke er formet som en tag: en parentes fulgt av et mellomrom, et siffer eller et symbol får stå med vilje, så ingenting ble fjernet og filen kom tilbake byte for byte. Hvis filen faktisk inneholder noe som `<v Bob>` og likevel kommer tilbake uendret, sjekk at det er filen du tror det er — siden leser en fil for det formatet den faktisk er, ikke for endelsen den bærer.

Relaterte verktøy