BBCode sa HTML

5 sa 2 mga rating

Ang BBCode sa HTML ay isang libreng tool na nagko-convert ng mga snippet ng BBCode sa raw HTML para magamit sa labas ng mga forum editor.

Anong problema ang nalulutas ng pag-convert ng BBCode?

Ginagawang HTML ng conversion ang markup na ginagamit sa mga forum para mabasa ito ng mga browser, content management system, at web template. Gumagamit ang BBCode ng mga tag na nasa loob ng square bracket, gaya ng [b], [i], at [url], sa halip na mga element ng HTML.

Kapaki-pakinabang ito kapag naglilipat ng mga post mula sa isang forum, nagde-debug ng content na ibinalik ng third-party API, o naghahanda ng lumang knowledge base para sa platform na tumatanggap ng HTML ngunit hindi BBCode. Makakatulong din ito bago mag-deploy kapag kailangang suriin ang na-import na text nang hiwalay sa nakapaligid na application code.

Hindi iisang pormal na pamantayan ang BBCode. Maaaring magtakda ang mga forum package at plug-in ng sarili nilang mga tag, attribute, at panuntunan sa nesting. Dahil dito, maaaring kailanganing ayusin ang conversion na gumagana sa karaniwang formatting kapag may mga elementong partikular sa isang platform ang source, gaya ng mga spoiler box, attachment reference, o custom media tag.

Paano mag-convert ng BBCode sa HTML?

Ilagay o i-paste ang source markup sa field na BBCode, pagkatapos ay tingnan ang na-convert na code sa field na HTML. Kopyahin lang ang HTML na iyon sa destinasyon kapag natiyak mong tumutugma sa nilalayong content ang mga element at link.

  1. Kopyahin ang buong snippet ng BBCode, kasama ang mga pambukas at pansarang tag.
  2. Ilagay ito sa field na BBCode nang hindi pinapalitan ang mga square bracket.
  3. Suriin ang raw na resulta sa field na HTML.
  4. Ihambing sa orihinal na post ang mga link, larawan, listahan, at nested formatting.
  5. I-sanitise ang hindi pinagkakatiwalaang output bago ito i-render sa isang pampublikong page.

Sa server isinasagawa ang conversion. Ipinapadala sa server ang input mo sa pamamagitan ng HTTPS at hindi ito iniimbak.

Paano basahin ang ibinalik na HTML?

Basahin ang resulta bilang source code, hindi bilang visual preview. Dapat may mga element ang ibinalik na HTML na kumakatawan sa istruktura at formatting na nakasaad sa source na BBCode.

Narito ang isang simpleng konseptuwal na halimbawa:

Input na BBCode: [b]Release note[/b]

Output na HTML: isang bold o strong na HTML element na naglalaman ng text na "Release note".

Narito naman ang isa pang karaniwang pattern:

Input na BBCode: [url=https://example.org/docs]Read the docs[/url]

Output na HTML: isang anchor element na may destinasyong https://example.org/docs at nakikitang text na "Read the docs".

Maaaring magkaiba ang eksaktong pangalan ng mga element sa bawat converter dahil walang iisang pamantayan ang mga diyalekto ng BBCode. Halimbawa, maaaring katawanin ang bold na text ng isang b element, na nagbibigay-pansin nang hindi nagpapahiwatig ng dagdag na kahalagahan, o ng isang strong element, na nagpapahiwatig ng matinding kahalagahan. Suriin ang aktuwal na value sa field na HTML sa halip na ipagpalagay na partikular ang gagamiting mapping.

Converter ang tool na ito, hindi kapalit ng HTML validator o security sanitiser. Ituring ang hindi inaasahang literal na BBCode, nawawalang content, o mga element na kakaiba ang nesting bilang palatandaan na may mali o hindi suportadong syntax ang source. Kabilang sa mga karaniwang problema ang hindi naisara na tag, pansarang tag na nasa maling pagkakasunod-sunod, maling attribute, at mga tag na partikular sa forum na walang pangkalahatang katumbas sa HTML.

Mga komplikadong input at pagkakaiba ng mga diyalekto

Karaniwang text lang ang mga espasyo, bantas, numero, titik na may accent, at sulat na hindi Latin, maliban kung nasa loob ang mga ito ng syntax o attribute ng tag. Dapat manatili ang mga ito bilang content sa halip na maging hiwalay na markup. Mas kailangang pag-ingatan ang mga URL. Maaaring kailanganing i-percent-encode ang mga character na bahagi ng URL, gaya ng mga espasyo, habang maaaring mangailangan ng HTML escaping ang mga character na may espesyal na kahulugan sa syntax ng nakapaligid na HTML attribute, gaya ng mga ampersand at panipi.

  • Maling nesting: Isinasara ng [b][i]Text[/b][/i] ang mga tag sa maling pagkakasunod-sunod. Sa wastong nesting, unang isinasara ang panloob na tag.
  • Mga nawawalang pansarang tag: Walang katapat na pansarang tag ang [quote]Text kapag hindi isinama ang huling tag.
  • Mga custom tag: Maaaring magkaiba ang kahulugan ng [spoiler], [video], at mga attachment tag depende sa forum software.
  • Umiiral nang HTML: Maaaring i-escape, panatilihin, o ituring bilang text ang HTML na inihalo sa BBCode, depende sa parser. Suriin itong mabuti sa halip na umasa sa iisang panuntunan para sa lahat.
  • Napakahabang input: Karaniwang mas madaling iproseso nang pangkatan ang malalaking migration para matukoy at maitama ang mga record na hindi naproseso.

Walang istruktura ng formatting na mako-convert ang isang input na walang laman. Kung plain text lang ang source at wala itong mga BBCode tag, maaaring kakaunti lang ang pakinabang ng conversion. Gayunman, maaaring kailanganin pa ring i-escape sa susunod na pagproseso ng HTML ang mga character gaya ng <, >, at &.

Kailan hindi sulit ang pag-convert?

Hindi sulit ang conversion kung babasahin lang ang content ng isang system na nauunawaan na ang orihinal nitong diyalekto ng BBCode. Nagdaragdag ng panibagong hakbang sa transformation ang pagpapalit ng format at maaaring mawala ang custom na gawi ng forum.

Hindi rin ito kailangan kung iniimbak ng isang machine ang BBCode nang walang pagbabago para i-render sa ibang pagkakataon gamit ang parehong forum engine. Gayundin, kakaunti lang ang pakinabang ng pagpapaganda o manu-manong pagsasaayos ng nabuong HTML kung machine lang ang magbabasa nito, maliban kung kailangan ang formatting para sa mga review sa version control o pagde-debug.

Para sa maramihang migration, maaaring mas angkop ang scripted parser dahil mailalapat nito ang parehong mga panuntunan ng diyalekto sa bawat record at maitatala ang mga pagkabigo. Mapanganib kung regular expression lang ang gagamitin sa nested markup. Gumamit ng parser na nakauunawa sa nesting, mga attribute, at maling input, pagkatapos ay hiwalay na i-validate at i-sanitise ang nabuong HTML. Kung may naka-embed na JSON configuration ang na-convert na content, makakatulong ang Tagapagpatunay at pampaganda ng JSON sa pagsusuri ng data na iyon, ngunit hindi nito vine-validate ang nakapaligid na HTML.

Mga madalas itanong

Ligtas bang direktang i-publish ang na-convert na BBCode?

Hindi. Ang HTML na nabuo mula sa mga post sa forum na hindi pinagkakatiwalaan ay dapat munang dumaan sa isang allow-list HTML sanitiser bago ito i-render. Lalo itong mahalaga para sa mga link, larawan, naka-embed na media, at anumang source na maaaring mayroon nang text na kahawig ng HTML.

Magiging mga HTML paragraph ba ang mga line break?

Nakadepende sa BBCode parser at sa mga panuntunan ng source platform ang pagproseso ng mga line break. Itinuturing ng ilang system na paragraph ang mga blangkong linya, samantalang naglalagay naman ang iba ng mga line-break element o pinananatili ang karaniwang whitespace. Ihambing ang isang multiline na sample sa pagkaka-render nito sa orihinal na forum bago maglipat ng malaking koleksyon.

Sinusuportahan ba ng BBCode ang mga Unicode character?

Maaaring maglaman ang BBCode ng Unicode text, kabilang ang mga character na may accent, emoji, at mga sulat na hindi Latin, dahil content ang mga character na iyon at hindi syntax ng tag. Dapat ding gumamit ang destinasyong page ng naaangkop na character encoding, karaniwang UTF-8, kung hindi ay maaaring hindi tama ang pagkakakita sa text pagkatapos ng conversion.

Pwede bang mag-convert ng BBCode sa loob ng CSV o database export?

I-convert ang mga value ng field sa halip na ang buong export file. Bahagi ng container format ang CSV quoting, mga delimiter, at database escape sequence, at maaaring masira ang mga ito kapag ipinadaan sa markup converter. Magtabi ng backup na walang pagbabago at magproseso muna ng maliit na batch bago ilapat ang conversion sa bawat row.

Ano ang dapat suriin bago i-import ang HTML?

Suriin ang isang sample na may nested formatting, link, listahan, image reference, at anumang custom tag na ginagamit ng source forum. Tiyaking tinatanggap ng destinasyon ang mga HTML element at attribute na iyon, pagkatapos ay isagawa ang kinakailangan nitong sanitisation o validation bago ang buong import.

Mga sikat na tool