BBCode

BBCode ( Bulletin Board Code )
utvikler
PhpBB
http://php.net/manual/en/book.bbcode.php
Generell informasjon
mime-type text/html
skriv inn kode TEXT
formattype merkespråk
utvidet fra HTML
utvidet til XBBCode
Standarder) Det finnes ikke noe standarddokument
åpent format ?

BBCode fra den engelske Bulletin Board Code er et lett markeringsspråk som fortrinnsvis brukes i diskusjonsfora og e- poster for å pynte måten en melding eller et innlegg presenteres på.

BBCodes kan ikke tolkes direkte av en nettleser, så det er forumets eget system som er ansvarlig for å oversette innholdet merket i BBCode til et språk som nettlesere kan forstå, enten HTML eller XHTML .

BBCode er ikke offisielt regulert, men på grunn av sin brede bruk har den blitt en de facto-standard så vel som en gjeldende standard for beste praksis .

Historikk

BBCode ble opprettet av PhpBB for sine egne fora og ble først introdusert i 1998 med Ultimate Bulletin Board versjon 3. Forumprogramvaren er derfor noen ganger også kalt UBCode. Til slutt, takket være sin enkelhet, kraft og funksjonalitet, har den spredt seg i de aller fleste nettfora og til og med i e-poster.

Formål

BBCode ble utviklet for å gi en mekanisme for brukere for å forbedre presentasjonen av meldingene deres på en tryggere, enklere og mer begrenset måte. Tidligere tillot mange fora bruk av HTML, med den bivirkningen at hvis det var dårlig skrevet HTML ville det forstyrre hele layouten på siden, eller HTML kunne brukes til å inkludere JavaScript som forårsaker alvorlige sikkerhetsproblemer ved å tillate XSS-angrep .

Noen implementeringer av BBCode har imidlertid lidd av problemer knyttet til måten de oversetter BBCode til HTML, noe som kan motsi sikkerheten som BBCode var ment å gi. Et alternativ er et riktig skrevet HTML-filter (hvorav mange er fritt tilgjengelig).

Selv om de grunnleggende BBCode-taggene er like i de fleste Internett-forumprogramvare, er det faktisk ikke noe dokument som standardiserer BBCode, og som en konsekvens er det mange varianter som ofte er inkompatible med hverandre. Noen varianter skiller mellom store og små bokstaver i tagnavn, mens andre ikke er det. Noen varianter har tagger som fremhever HTML, ASP, PHP, SQL og andre markup-språk og programmeringsspråk. Etc.

Struktur og syntaks

BBCode er basert på HTML -språket , og ligner veldig på det i struktur og syntaks. BBCode har elementer og attributter som HTML, men siden det er en forenklet versjon av det, er det mye enklere å lære og bruke.

Elementer er den grunnleggende strukturen i språket, hvert element har to essensielle egenskaper: innhold og attributter.

Elementer

Elementer i BBCode har vanligvis en starttag og en slutttag, innholdet er rammet inn mellom de to taggene. I BBCode er navnet på en tagg omsluttet av firkantede parenteser [ ] , i motsetning til HTML, hvor ulikhetssymbolene < > brukes . Noen tagger inneholder en modifikator, også kjent som et attributt, hvis verdi er tilordnet selve taggen med = -symbolet .

Attributter

De fleste av attributtene til et element i BBCode er ganske enkelt verdier, skrevet i startkoden til et element og tilordnet det med et likhetstegn = , etter navnet på elementet. Verdien kan være omgitt av doble anførselstegn, men de fleste forumsystemer er tolerante for disse endringene. Men å la verdier stå uten anførselstegn anses som en usikker praksis.

Den generelle syntaksen er da:

[nombre_etiqueta="atributo"] Contenido [/nombre_etiqueta]

Parsing

BBCode som sådan vil bli tolket av en nettleser som bare tekst. For at den ikke skal fremstå som sådan, men heller vise et spesielt format, må den først behandles av et analyseskript eller parser på serversiden der forumprogrammet ligger. Parseren analyserer teksten som er skrevet inn av brukeren før den leverer den til nettleseren i et passende format slik at den kan tolke den. En BBCode-parser ser spesifikt etter BBCode-tagger og erstatter dem med de tilsvarende HTML-taggene, først gjør en syntaks-parse for å se etter feil.

For eksempel kan BBCode-elementet [b] [/b] for fet skrift skrives overstyrt av HTML-elementet < b> </ b> , men det ville ikke være riktig å gjøre det for en enkelt [b] -tag , så etter at parseren har utført syntaksfeilanalysen, leverer den utdata-HTML-koden.

Som en generell regel gjøres parsing "én vei", det vil si at et foruminnlegg lagres i forumdatabasen sammen med BBCode på en stabil måte, og hver gang en nettleser får tilgang til det aktuelle innlegget, oversetter forumparseren BBCoden før du presenterer den for nettleseren.

Parsing scripts kan skrives på forskjellige server-side programmeringsspråk, noen svært populære er for eksempel PHP og Perl .

Et eksempel på en veldig grunnleggende parser skrevet i PHP vil være:

<?php $text = preg_replace ( "/\[b\](.*)\[\/b\]/Usi" , "<b> \\ 1</b>" , $text ); $text = preg_replace ( "/\[i\](.*)\[\/i\]/Usi" , "<i> \\ 1</i>" , $text ); $text = preg_replace ( "/\[u\](.*)\[\/u\]/Usi" , "<u> \\ 1</u>" , $text ); $text = preg_replace ( "/\[color=(.*)\](.*)\[\/color\]/Usi" , "<span style= \" color: \\ 1 \" > \\ 2 </span>" , $text ); $text = preg_replace ( "/\[email=(.*)\](.*)\[\/email\]/Usi" , "<a href= \" mailto: \\ 1 \" > \\ 2 </a>" , $tekst ); ?>

Bruk av BBCode

Språket BBCode presenterer elementer som kan grupperes i fem brede kategorier:

  • Tekstutseendemodifikatorer
  • lysbildefremvisning
  • hyperkoblinger
  • bestilte strukturer
  • Spesialverktøytekstblokker

Tekstutseendemodifikatorer

Følgende enkle markører kan brukes til å endre utseendet til tekst, de fleste av disse markørene kommer fra HTML og bruken deres er vidt distribuert i forskjellige versjoner av BBCode:


Format Betydning Utseende
[b]Negrita[/b] fet tekst Fet skrift
[u]Subrayado[/u] Understreket tekst Understreket tekst
[i]Cursiva[/i] Tekst i kursiv eller kursiv Kursiv
[s]Tachado[/s] Krysset tekst Gjennomstreking
[size=18]Tamaño 18[/size] Utvid tekststørrelsen opp til 18 punkter [ merknad 1 ] størrelse 18
  1. "Størrelse" kan brukes opp til størrelse 30. Det finnes også fora som har en standardstørrelse tilordnet og grenser. I de tilfellene brukes en annen type kode. Eksempel: [size=+3]Standardstørrelse 19, vist størrelse 22[/size]
Justeringsmodifikatorer

Bruken av justeringsmarkører i BBCode kan være mer eller mindre lik den for HTML avhengig av forumsystemet som brukes, det er to hovedmekanismer for å justere enten tekst, tabeller eller bilder.

  • [align= alignment ]Innhold for align[/align] der alignment- attributtet kan ha følgende verdier:
venstre : for å justere innhold til venstre. høyre : for å justere innhold til høyre. senter : for å sentrere innholdet. rettferdiggjøre : å rettferdiggjøre innholdet.
  • [ Alignment ]Innhold for å justere[/ alignment ], der attributtet erstatter tagnavnet.


Format Betydning Utseende
[align="left"]Contenido a alinear[/align] juster til venstre Innhold som skal justeres
[align="right"]Contenido a alinear[/align] rett inn Innhold som skal justeres
[align="center"]Contenido a alinear[/align] Juster til
midten
Innhold som skal justeres
[align="justify"]Pequeño párrafo que demuestra el texto contenido justificado[/align] Begrunn teksten Lite avsnitt som viser begrunnet innholdstekst
[left]Contenido a alinear[/left] juster til venstre Innhold som skal justeres
[right]Contenido a alinear[/right] rett inn Innhold som skal justeres
[center]Contenido a alinear[/center] Juster til
midten
Innhold som skal justeres
[justify]Pequeño párrafo que demuestra el texto contenido justificado[/justify] Begrunn teksten Lite avsnitt som viser begrunnet innholdstekst
Farger

BBCode lar deg endre fargen på den viste teksten, enten ved å bruke navnet på en av de forhåndsdefinerte fargene i HTML-standarden, eller ved å skrive inn ønsket farge direkte i heksadesimal RGB -kode. Denne siste metoden, selv om den er litt mer komplisert, lar deg jobbe med et større utvalg av farger, det eneste kravet er å vite hvordan du genererer dem. Det finnes verktøy som tar seg av dette, for eksempel ColorZilla-utvidelsen for nettleseren Mozilla Firefox .

Enkelte forumprogrammer støtter bruken av en begrenset 3-sifret variant av det heksadesimale RGB -systemet (der R er verdien av fargen rød, G fargen grønn og B fargen blå) dette systemet er enklere å bruke på bekostning av å ha færre fargenyanser. Imidlertid brukes vanligvis det 6 heksadesimale siffersystemet (RRGGBB, der RR representerer verdien som tilhører fargen rød, GG til fargen grønn og BB til fargen blå) Dette systemet tillater teoretisk å representere 16 777 216 farger.

En liten liste over noen eksempler på farger tilgjengelig i BBCode fra HTML-standarden. For flere farger se hovedartikkelen :


Format Betydning Utseende
[color="black"]Negro[/color] Svart tekst Svart
[color="brown"]Marrón[/color] Tekst i brun farge brun
[color="maroon"]Granate[/color] Rødbrun tekst Granat
[color="red"]Rojo[/color] Tekst i rød farge rød
[color="coral"]Coral[/color] Tekst i korallfarge Korall
[color="orange"]Naranja[/color] Tekst i oransje farge oransje
[color="yellow"]Amarillo[/color] Gul tekst Gul
[color="olive"]Oliva[/color] Tekst i olivenfarge Oliven
[color="lime"]Verde lima[/color] Farge Tekst Limegrønn Grønn lime
[color="limegreen"]Verde claro[/color] Tekst i lys grønn farge Lysegrønn
[color="green"]Verde[/color] Tekst i grønn farge Grønn
[color="darkgreen"]Verde oscuro[/color] Tekst i mørkegrønn farge Mørk grønn
[color="teal"]Cerceta[/color] Blågrønn tekst blågrønn
[color="cyan"]Cian[/color] Cyan tekst cyan
[color="lightskyblue"]Azul cielo claro[/color] Lys himmelblå fargetekst lys himmelblå
[color="blue"]Azul marino[/color] Marineblå fargetekst marineblå
[color="navy"]Azul naval[/color] Marineblå fargetekst marineblå
[color="pink"]Rosa[/color] Rosa tekst Rosa
[color="magenta"]Magenta[/color] Magenta farge tekst Magenta
[color="purple"]Púrpura[/color] Tekst i lilla farge Lilla
[color="gray"]Gris[/color] Tekst i grå farge Grå
[color="silver"]Plata[/color] Sølvfarget tekst Sølv
[color="white"]Blanco[/color] Hvit tekst Hvit
[color=#B0C4DE]#B0C4DE[/color] RGB -fargetekst #B0C4DE #B0C4DE
Kilder

BBCode gir også muligheten til å endre fonten til teksten, men det er praktisk å huske på at ikke alle fonter vil være synlige for alle, siden for at en font skal vises i en nettleser, må den være installert på systemet. operativsystem som nettleseren kjører på. Her er noen eksempler på de vanligste:


Format Betydning Utseende
[font="Arial"]Arial[/font] Arial font tekst Arial
[font="Wingdings"]Wingdings[/font] Tekst med Wingdings- skrift Wingdings
[font="Comic Sans MS"]Comic Sans MS[/font] Tekst med Comic Sans MS-font Comic Sans MS
[font="Century Gothic"]Century Gothic[/font] Tekst med Century Gothic skrift århundre gotisk
[font="Courier"]Courier[/font] Courier skrifttekst kurer
[font="Fixedsys"]Fixedsys[/font] Tekst med Fixedsys- font fixedsys
[font="Georgia"]Georgia[/font] Tekst med georgisk skrift Georgia
[font="Lucida Sans"]Lucida Sans[/font] Tekst med Lucida Sans- font Lucida Sans
[font="Monotype Corsiva"]Monotype Corsiva[/font] Monotype Corsiva skrifttekst Monotype Corsiva
[font="Times New Roman"]Times New Roman[/font] Tekst med Times New Roman -skrift Times New Roman
[font="Trebuchet MS"]Trebuchet MS[/font] Tekst med Trebuchet MS- font Trebuchet MS
[font="Verdana"]Verdana[/font] Verdana skrifttekst Verdana

Presentasjon av bilder

For å vise et BBCode-bilde har du img-markøren. Det generelle formatet til dette elementet er:

[img]Ruta de la imagen[/img]

For eksempel følgende kode:

[img]http://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Laser_Towards_Milky_Ways_Centre.jpg/660px-Laser_Towards_Milky_Ways_Centre.jpg[/img]

Det ville vise følgende resultat


I mange fora er det mulig å endre størrelsen på bildet ved å bruke bredde- og høydeattributtene . Som standard angir begge attributtene størrelsen i piksler som bildet skal vises med, selv om det kan tilpasses ved å bruke " % " (prosent)-modifikatoren for å indikere hvor stor prosentandel av det synlige området som vil bli okkupert.

For eksempel koden:

[img width=264 height=240]http://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Laser_Towards_Milky_Ways_Centre.jpg/660px-Laser_Towards_Milky_Ways_Centre.jpg[/img]

Det vil vise dette resultatet:

Hyperkoblinger

Som et språk avledet fra HTML, er et av BBCodes kraftigste elementer hyperkoblingen , vanligvis representert av URL -taggen . Det er to direkte måter å lage teksthyperkoblinger i BBCode ved å bruke URL -taggen :


Format Betydning Utseende
[url]http://www.google.com[/url] Viser hyperkoblingen på destinasjonsadressen http://www.google.com
[url="http://www.google.com"]Google[/url] Viser hyperkoblingen på et ord du velger Google

Ordnede strukturer

BBCode har to hovedtyper ordnede strukturer, lister og tabeller. Sistnevnte er ikke universelt akseptert, og bare noen forumsystemer lar deg jobbe med dem. På sin side er det to typer lister, enkle lister og ordnede lister. Alle ordnede strukturer i BBCode ligner i hovedsak på jevnaldrende i HTML.

Enkle eller uordnede lister

En uordnet liste viser hvert element sekvensielt, en etter en ved å rykke inn hvert element som begynner med et punkttegn. For å lage en uordnet liste, bruk [list] [/list] -taggene og definer hvert listeelement med den spesielle [*]- taggen .

For eksempel følgende kode

[list]

[*]Primer ítem

[*]Segundo ítem

[*]Tercer ítem

[/list]

Det vil generere følgende resultat:

  • første element
  • andre element
  • tredje element
Ordnede lister

Den andre typen liste, den bestilte listen, gir muligheten til å bestemme hva som skal vises som en ordreindikator før hver vare.

For å lage en ordnet liste kan du bruke f.eks . [list=1] [/list] for å lage en nummerert liste, eller alternativt kan du bruke f.eks . [list=a] [/list] for å lage en alfabetisk liste. I tillegg kan du starte den sorterte listen med et hvilket som helst annet tall eller bokstav. Som med uordnede lister, spesifiseres elementer med [*] .

For eksempel koden

[list=1]

[*]Ir a la tienda

[*]Comprar una nueva PC

[*]Insultar a la PC cuando se cuelgue

[/list]

Det vil generere følgende resultat:

1. Gå til butikken 2. Kjøp en ny PC 3. Fornærme PC-en når den krasjer

Eller hvis en alfabetisk liste ble brukt:

[list=a]

[*]Ir a la tienda

[*]Comprar una nueva PC

[*]Insultar a la PC cuando se cuelgue

[/list]

Det vil generere følgende resultat:

en. Gå til butikken b. Kjøp en ny PC c. Fornærme PC-en når den krasjer Tabeller

Tabellbehandling i BBCode er veldig lik HTML, og gjøres gjennom [table] [/table] -elementet som også har [tr] [/tr] -taggene som brukes til å avgrense hver linje, og taggene [td][ /td] som hver celle er avgrenset med. Et kodeeksempel på en tabell med tre linjer og fire kolonner vil være:

[table border="1"]

[tr] [td]Celda 1.1[/td] [td]Celda 1.2[/td] [td]Celda 1.3[/td] [td]Celda 1.4[/td] [/tr]

[tr] [td]Celda 2.1[/td] [td]Celda 2.2[/td] [td]Celda 2.3[/td] [td]Celda 2.4[/td] [/tr]

[tr] [td]Celda 3.1[/td] [td]Celda 3.2[/td] [td]Celda 3.3[/td] [td]Celda 3.4[/td] [/tr]

[/table]

Border=" " -attributtet brukes til å angi bredden i piksler på tabellkantene; hvis den er lik 0, vises ikke grensene. Generelt tillater taggen også attributtene width=" %" for å indikere bredden i prosent som tabellen skal oppta, og align=" " der justeringen av tabellen er angitt som en blokk, ikke av innholdet i cellene , at det må gjøres innenfor hver [tr] -tag , hvis du ønsker å justere innholdet i en linje, eller innenfor hver [td] -tag hvis du ønsker å justere hver enkelt celle.

Koden ovenfor vil levere et resultat som følgende:

Celle 1.1 Celle 1.2 Celle 1.3 Celle 1.4
Celle 2.1 Celle 2.2 Celle 2.3 Celle 2.4
Celle 3.1 Celle 3.2 Celle 3.3 Celle 3.4

Og ved å endre den første linjen med:

[table border="1" align="center" width="90%"]

Er oppnådd:

Celle 1.1 Celle 1.2 Celle 1.3 Celle 1.4
Celle 2.1 Celle 2.2 Celle 2.3 Celle 2.4
Celle 3.1 Celle 3.2 Celle 3.3 Celle 3.4

Spesielle tekstblokker

BBC-koder tillater håndtering av tekstblokker med spesielle egenskaper som brukes generelt for ulike typer sitater eller referanser. Spesifikt tillater de fleste fora bruk av tre blokker med tekst med spesialverktøy. Sitater, referanser til kildekode og spoilere.

Sitater

Sitatblokker brukes til å transkribere ordtakene til andre mennesker, og refererer riktig til hvem som var forfatteren av de nevnte ordtakene. Markøren som brukes er [quote] .

Kodeeksempel:

[quote="James"]Éste es el texto que quiero citar.[/quote]

Det vil vise noe lignende som dette:

James sa:
Dette er teksten jeg vil sitere.

På den annen side, hvis du ikke vil sitere noen spesielt, kan du bruke sitatmarkøren uten å spesifisere et navn:

[quote]Éste es el texto que quiero citar.[/quote] Kildekoder

Når det er nødvendig å sitere kildekoden til et programmerings- eller merkespråk, er det god praksis å bruke kodemarkøren. Kodemarkøren fyller en dobbel funksjon, på den ene siden blir det som ligger i [code] [/code] -taggene ikke tolket av forumprogrammet, noe som forhindrer at det oppstår ulykker i presentasjonen av formatet ved bruk av uttrykk eller reserverte ord, og på den annen side gjør det selve kildekoden mer lesbar, siden det brukes en spesiell monospace-skrifttype der alle tegnene, inkludert mellomrommet, har samme bredde og hvor det er samme avstand mellom alle tegn. Som en konsekvens forblir kildekoden horisontalt og vertikalt arrangert på forskjellige linjer.

Kodeeksempel:

[code]

int main()

{

printf("hola");

}

[/code]

ville sett slik ut

Kode:
intmain() { printf("hei"); }

Spoilere

[spoiler ] [/spoiler] -elementet brukes til å skjule sensitivt innhold som kan irritere andre brukere, og gir alle muligheten til å vurdere dette innholdet eller ikke. En annen hyppig bruk er å redusere den vertikale størrelsen på en stolpe, slik at det ikke blir for slitsomt å gå gjennom hele brettet.

Innholdet i en spoiler kan vises ved å klikke på en knapp som vanligvis heter " spoiler ", " show " eller " display ".

For eksempel følgende kode:

[spoiler]Este es el contenido que debe permanecer oculto[/spoiler]

Det vil vise et resultat som ligner dette:

SPOILERE

Dette er innholdet som skal forbli skjult

Mens følgende kode:

[spoiler="Título del Spoiler"]Este es el contenido que debe permanecer oculto[/spoiler]

Det vil vise et resultat som ligner dette:

Spoilertittel

Dette er innholdet som skal forbli skjult


Mer komplekse bruksområder

Element nesting

BBCodes lar deg legge inn elementer, for å oppnå mye mer attraktive resultater, et typisk eksempel vil for eksempel være å lage en lenke på et bilde og ikke på en tekstlinje.

Koden for dette vil være:

[url="ruta del enlace"][img] ruta de la imagen [/img][/url]

Andre eksempler er for eksempel endring av størrelse, farge og skrift på en tekst eller avsnitt, endring av farge på en lenke, etc, etc.

Det er imidlertid praktisk talt ingen grenser for mulige kombinasjoner, og for å unngå uventede resultater på grunn av parsefeil, er det alltid praktisk å lukke kodene nøyaktig i motsatt rekkefølge som de ble åpnet.

Dette vil for eksempel være en riktig form:

[font="Comic Sans Ms"][color="orange"][size=18] Texto a formatear [/size][/color][/font]

Og dette er en feil form:

[font="Comic Sans Ms"][color="orange"][size=18] Texto a formatear [/font][/color][/size]


Eksterne lenker