Módní muž faq php režim bbcode. Poznámka o používání BB kódů (bbCode). Formátování odstavců a oblastí


Co je bbcode?    BBCode je speciální varianta HTML. To, zda můžete ve svých příspěvcích BBCode používat či nikoli, určuje administrátor. Kromě toho můžete při zveřejňování zakázat použití BBCode v konkrétní zprávě. BBCode sám je ve stylu podobný HTML, značky jsou uzavřeny v hranatých závorkách [a], ne< и >; Poskytuje větší kontrolu nad zobrazováním dat. Při použití některých šablon můžete do svých zpráv přidat BBCode pomocí jednoduchého rozhraní umístěného nad polem pro zadávání textu. Ale i tak může být tento průvodce užitečný.

Formátování textu

Jak udělat tučný, šikmý nebo podtržený text    BBCode obsahuje značky pro rychlou změnu stylu písma, můžete to provést následujícími způsoby:
  • Chcete-li, aby byl text tučný, uzavřete jej [b]například:

    [b]Ahoj

    se stane Ahoj

  • Podtržení použití [u]například:

    [u]Dobré ráno

    bude dobré ráno

  • Kurzíva se provádí pomocí značek. [i]například:

    To je [i]skvělé!

    to rozdá skvělé!

Jak změnit barvu nebo velikost textu    Následující značky lze použít ke změně barvy nebo velikosti písma (výsledný vzhled bude záviset na systému uživatele a prohlížeči):
  • Barvu textu můžete změnit obklopením. . Můžete zadat známý název barvy (červený, modrý, žlutý atd.) Nebo hexadecimální reprezentaci, například #FFFFFF, # 000000. Chcete-li tedy vytvořit červený text, můžete použít:

    Ahoj

    Ahoj

    výsledkem obou způsobů bude Hello!

  • Velikost se dosahuje podobným způsobem při použití . Tato značka závisí na použitých šablonách, doporučený formát je číslo, které zobrazuje velikost textu v procentech, od 20% (velmi malé) do 200% (velmi velké) výchozí velikosti. Například:

    LITTLE

    s největší pravděpodobností bude LITTLE

    zatímco:

    Obrovský!

    bude obrovský!

Mohu kombinovat značky?    Ano, samozřejmě můžete. Chcete-li například upoutat něčí pozornost, můžete napsat:

[b]Podívejte se na mě!

co dá Podívejte se na mě!

[b] [u]To je špatně

Citace a zobrazení formátovaných textů

Citace odpovědí    Text lze citovat dvěma způsoby, s odkazem nebo bez odkazu.
  • Když pomocí tlačítka Citace odpovíte na zprávu, její text se přidá do vstupního pole v obklopeném bloku . Tato metoda vám umožní citovat s odkazem na autora nebo na něco jiného, \u200b\u200bco tam píšete. Například citovat pasáž napsanou panem Blobby, napíšeš:

    Poslat text Blobby tu bude

    Výsledkem je, že slova „Mr. Blobby napsal: ". Pamatuj si měl   uzavřete jméno do uvozovek „“, nelze je vynechat.

  • Druhá metoda vám umožňuje něco citovat. Chcete-li to provést, musíte uzavřít text do značek . Při prohlížení zprávy se text v citačním bloku jednoduše zobrazí.
Výstup kódu nebo formátovaného textu    Pokud potřebujete vydat část programu nebo něco, co by se mělo zobrazit v písmu s pevnou šířkou (Courier), musíte text uzavřít do značek například:

echo "Toto je nějaký kód";

Veškeré formátování použité uvnitř značek bude uložen. Zvýraznění syntaxe PHP lze povolit pomocí   a doporučuje se při odesílání zpráv s kódem PHP pro zlepšení čitelnosti.

Vytvořit seznamy

Vytvořte seznam s odrážkami    BBCode podporuje dva typy seznamů: odrážky a číslované. Jsou téměř totožné s jejich ekvivalenty HTML. V seznamu s odrážkami jsou všechny prvky zobrazeny postupně, každý je označen symbolem značky. Chcete-li vytvořit seznam s odrážkami, použijte   a definujte každý prvek pomocí [*] . Chcete-li například zobrazit své oblíbené barvy, můžete použít:


[*] Červená
[*] Modrá
[*] Žlutá

Výsledkem bude seznam takto:

  • Červená
  • Modrá
  • Žlutá
Vytvořte číslovaný seznam    Druhý typ seznamu, očíslovaný, umožňuje zvolit, co přesně se bude zobrazovat před každým prvkem. Chcete-li vytvořit číslovaný seznam, použijte   nebo   vytvořit abecední seznam. Stejně jako u seznamu s odrážkami jsou položky definovány pomocí [*] . Například:


[*] Jděte do obchodu
[*] Kupte si nový počítač
[*]

bude produkovat následující:

  1. Jděte do obchodu
  2. Kupte si nový počítač
  3. Vyhladávání počítače, když dojde k chybě
Pro abecední seznam použijte:


[*] První možná odpověď
[*] Druhá možná odpověď
[*] Třetí možná odpověď

co dá

  1. První možná odpověď
  2. Druhá možná odpověď
  3. Třetí možná odpověď

Vytváření odkazů

Odkazy na jiný web    BBCode podporuje několik způsobů, jak vytvářet adresy URL.
  • První používá značku , po znaménku \u003d by měla jít požadovaná adresa URL. Například pro odkaz na phpBB.com můžete použít:

    Navštivte phpBB!

  • Pokud chcete, aby se jako text odkazu zobrazovala i samotná adresa URL, můžete jednoduše provést následující:

    http://www.phpbb.com/

  • Kromě toho phpBB podporuje funkci nazvanou Automatické odkazy, tím se do odkazu převede jakákoli syntakticky správná adresa URL bez potřeby značek a dokonce i předpony http: //. Například zadáním adresy www.phpbb.com ve vaší zprávě se při prohlížení zprávy automaticky vrátí stránka www.phpbb.com.
  • Totéž platí pro e-mailové adresy, můžete buď výslovně zadat adresu:

    [email protected]

    , které vydá [email protected], nebo jednoduše do vaší zprávy zadáte [email protected] a při prohlížení se automaticky převede.

Stejně jako u všech ostatních značek BBCode můžete do adresy URL například vložit jakékoli jiné značky   (viz následující odstavec) [b]   atd. Stejně jako u formátovacích značek je správné vnoření značek jen na vás, například:

http://www.google.com/intl/en_ALL/images/logo.gif

nesprávné, což může vést k následnému odstranění vaší zprávy, proto buďte opatrní.

Úvod

bbCode - Kód nástěnky nebo značkovací jazyk používaný k formátování zpráv na mnoha elektronických vývěskách (BBS) a fórech. K formátování textu se používají značky, jako jsou HTML značky. Na rozdíl od značek HTML jsou značky bbCode uzavřeny v hranatých závorkách. Před zobrazením stránky modul fóra analyzuje text a převede bbCode na HTML kód.

Na mnoha fórech je schopnost používat BB kódy konfigurována individuálně administrátorem pro každou sekci fóra. Proto se před použitím BB kódů ve zprávách musíte ujistit, že jsou povoleny.

Formátování písma

Základní tagy pro práci s textem:

[p] Normální odstavec odsazení.

Odstavec, do kterého můžete stylizovat.
* Dále je „styl“ analogem stylu v HTML.
   text je podobný v HTML

text


** Se značkami [p] můžete použít jiné značky, například [b], [i], [s] atd.

Text, který lze použít ke změně vlastností pomocí stylu.

Omezená oblast, kterou lze použít ke změně vlastností pomocí stylu (pozice, ohraničení, odsazení, vlastnosti obsahu atd.).
* Ve výchozím nastavení nejsou ohraničení oblasti viditelné. Jedna stránka může mít několik oblastí najednou.

Formátování textu:

[b] Důležitý text, tučně

[i] Důležitý text, kurzíva

Jen tučné

Jen kurzíva

[u] Podtržený text

[s] Přeškrtnutý text - stejný jako variace

Menší písmo

Poznámka pod čarou pod čarou nebo index pod textem

Odstraněný text

Velikost písma:

13 bodové písmo

15 bodové písmo

9px písmo

12px písmo

15px písmo

Velikost 0

Velikost +1

Velikost +2

K dispozici jsou možné možnosti velikosti písma (vizuální hodnocení).

Rubriky:

Nadpis úrovně 1

Nadpis úrovně 2

Nadpis úrovně 3

4. úroveň nadpisu

Nadpis úrovně 5

Nadpis úrovně 6

Vytváření textu pomocí písem:

Písmo Comic Sans Ms

Monotype písma Corsiva

Písmo Tahoma

K dispozici jsou možné volby typu písma (jména a vizuální hodnocení).

Vytváření textu barevně:

Červený text
* Můžete použít standardní slovní označení barev: červená, zelená, modrá atd.

Modrý text
* Číslo # 0000ff znamená v paletě RGB modrou barvu.

Modré pozadí
* Pozadí může také změnit barvu.

Modrý text, šedé pozadí.

Některé předdefinované barvy:

Černá Bílá Červená Zelená Modrá Fialová Firebrick Maroon OrangeRed MidnightBlue CornflowerBlue
Azurová žlutá purpurová tmavězelená tmavězelená zlatá orchidej modráViolet Burlywood PeachPuff

Některé barvy v hexadecimálním kódu jsou intenzity červené, zelené a modré (RR GG BB):

# 000000 #FFFFFF # FF0000 # 00FFF # 00FFF # FF9944 # FF9999 # FFCCFF # 9999FF # FF99FF # DFDDD # FFE4C4 # UDP99 # FF30D # F0030 # 000000 # 000000 # 000000 # DAA520 # FFCC33 # FFA500 # C71585 # 8B008B # CC33FF

K dispozici jsou možné možnosti pro paletu barev a jejich kódy / názvy.

Zarovnání textu a formátování odstavců

Zarovnání textu:

Zarovnat text doleva

Zarovnání doleva se stylem

Zarovnání odstavce vlevo

Zarovnání středu na střed

Zarovnání na střed se stylem

Zarovnání na střed v odstavci

Zarovnejte text na pravé straně

Zarovnejte vpravo se stylem

Zarovnání v odstavci vpravo

Zarovnat text na obou stranách

Zarovnejte na obou stranách styl

Zarovnání odstavců na obou stranách
* Zarovnání textu na obou stranách se zobrazí u textů, které jsou delší než jeden řádek.

Poznámky pod čarou (poznámky) s odsazením odstavce:

[q] Citace v řádku

Nabídka v souladu s vlastnostmi


  Text citovaný v samostatném bloku, který bude mít
  malá odrážka vlevo a speciální design (styl fóra).

Příklady:
  Lorem ipsum dolor sit amet
  Lorem ipsum dolor sit amet
  Lorem ipsum dolor sit amet

Formátování odstavců a oblastí:

Ahoj V tomto odstavci bude první věta z červené čáry, tzn. odsazený. Stejně jako v tiskařském lisu. Je pravda, že na internetu je to vzácná praxe. Odstavce by měly být odděleny jednoduše mezerou.

  Předformátovaný text zachovává odsazení vlevo a mezi slovy a nastavuje odsazení určené mezerami. Varování! Značka neprovádí zalomení řádku automaticky!

Seznamy formátování

Použijte značku nebo pro seznamy s odrážkami:

  • Jedna z položek seznamu
  • Další taková položka
  • Ještě jeden bod.



[*] Další taková položka
[*] Další položka.

Pro číslované seznamy použijte značku:

  1. Jedna z položek seznamu
  2. Další taková položka
  3. Ještě jeden bod.


[*] Jedna z položek v seznamu
[*] Další taková položka
[*] Další položka.

Závěrečná značka je volitelná pro použití:

  • Jedna z položek seznamu
  • Další taková položka
  • Ještě jeden bod.


[*] Jedna z položek v seznamu
[*] Další taková položka
[*] Další položka.

Přímé zobrazení seznamu je také možné:
   - číslovaný seznam
   - abecední seznam
   - seznam číslovaný římskými číslicemi

Obrázky

Http://img.cx/img/primer.jpg - příklad vložení obrázku.

Http://img.cx/img/primer.jpg - obrázek vlevo.

Http://img.cx/img/primer.jpg - obrázek vpravo.
* Tento kód je podobný kódu HTML:

Http://img.cx/img/primer.jpg - obrázek uprostřed.
* Tento kód je podobný kódu HTML:

Podobné značky s názvy a popisy:

Důležité! V názvu obrázku nelze použít uvozovky!

Http://img.cx/img/primer.jpg - příklad vložení obrázku.

Http://img.cx/img/primer.jpg - obrázek vlevo.

Http://img.cx/img/primer.jpg - obrázek vpravo.

Http://img.cx/img/primer.jpg - obrázek uprostřed.

Obrázky se specifikovanými velikostmi:

Http://img.cx/img/primer.jpg - příklad obrázku s velikostí.
* Tento kód je podobný kódu HTML:

Http://img.cx/img/primer.jpg - obrázek vlevo, s velikostí.

Http://img.cx/img/primer.jpg - obrázek vpravo, s velikostí.

Vložte velké obrázky pomocí posuvníků:

Http: //www..jpg - obrázek ve vybrané oblasti, pokud je větší, než je dostupná velikost zobrazení na fóru.

Adresa - otevření obrázku v novém okně.
* Tento kód je podobný kódu HTML:

Adresa - otevře obrázek ve stejném okně.
* Tento kód je podobný kódu HTML:

V mých projektech (napsaných v PHP) musím pravidelně používat „tlumočníka“ BBCode a vždy není čas hledat nějaké více či méně stravitelné řešení, které v konečném důsledku povede k použití nebo vytvoření „berlí“ pro každý konkrétní případ.
  Ale teď se zdá, že se našlo to, co jsem chtěl.

Moje stížnost na taková hotová řešení je obvykle především v neschopnosti těchto knihoven řádně zpracovat odstavce. Ve skutečnosti obvykle odstavce vůbec nepoužívají (značka P) místo toho v důsledku své práce jednoduše vloží značku
nahrazení obvyklých znaků zalomení řádku. Tuto metodu emulace odstavců považuji za 98 procent, mírně, nevhodně. Ale protože zalamování čar je v rámci prostředků
  mnohem jednodušší implementace namísto „lidských“

, jako většina z nich 🙁 Někteří dokonce přijdou s výmluvami, že říkají, že br je ještě správnější, částečně kvůli lenivosti vývojářů různých ready-made knihoven, další část lidí si myslí, že značka P   je zastaralý (koneckonců, i v mnoha hotových produktech a webech se odstavce vytvářejí pomocí
) 🙂

Pojďme začít

Zdá se však, že na konci tunelu je světlo. Jedná se o hotovou třídu pro práci s BBCode, která zjevně dělá vynikající práci (zatím jsem nic lepšího neviděla). Jediným negativem je, že dokumentace uvedená na webu není v ruštině. Chci také překonat toto mínus v tomto článku a uvést příklad použití třídy s ruskými komentáři.

Nejprve musíte stáhnout knihovnu (v době psaní byla verze knihovny 0.3.3). Ve staženém archivu ve složce src najdete dva potřebné soubory: stringparser.class.php a stringparser_bbcode.class.php.

Předpokládejme například, že máme prázdný soubor index.php a vedle něj vytvoříme složku / bbcode / obsahující dva výše uvedené soubory.
  Například minimální obsah souboru „index.php“ by měl být takový (spuštěním tohoto příkladu můžete okamžitě zjistit, zda knihovna funguje):

< ?php //Вставляем файл библиотеки require_once "bbcode/stringparser_bbcode.class.php"; //Создаем объект класса StringParser_BBCode $bbcode = new StringParser_BBCode (); //Добавляем объекту класса понятие о тэге [b] //(в итоге только этот тэг и будет //обрабатываться этим классом) $bbcode->addCode ("b", "simple_replace", , array ("start_tag" \u003d\u003e " "," end_tag \u200b\u200b"\u003d\u003e"")," inline ", array (" block "," inline "), array ()); // Zpracovejte testovací řetězec a odešlete jej do echo prohlížeče echo $ bbcode-\u003e parse („ Testujte text, toto slovo by mělo být [b ] tučně ");?\u003e

Funkce AddCode

Možná funkce addCode objektu třídy StringParser_BBCode může způsobit největší zájem o tento kód, zde je jeho prototyp a seznam popisů parametrů:

Void addCode (string $ code, string $ type, string $ callback, string $ params, string $ content_type, array $ enabled_in, array $ not_allowed_in);

Tato funkce přidá koncept určitých kódů (bb kódy) pro objekt třídy tak, aby mohl později tyto kódy v textu detekovat a odpovídajícím způsobem je zpracovat. I.e. můžeme říci, že zpočátku objekt třídy StringParser_BBCode neví nic o standardních bb kódech a není schopen je nijak zpracovat. Proto po každé inicializaci bude muset být tento objekt „vyškolen“ ve všech variantách bb kódů.

$ code (v příkladu to znamená 'b') Kód, který je třeba hledat v textu ke zpracování. I.e. Pokud zadáte zkušební kód, bude značka vyhledána ve zpracovaném textu a zpracována v souladu s pokyny v dalších parametrech dané funkce. $ type (v příkladu je nastaveno „simple_replace“) Určuje, jak má být značka zpracována (jaký je typ). Níže jsou uvedeny různé předdefinované typy značek. V našem příkladu je uveden typ „simple_replace“, což znamená, že značka bude spárována (otevírací značka [b] a uzavírací) a že tyto značky budou nahrazeny html značkami uvedenými níže. $ callback (v příkladu je to null) Umožňuje určit název funkce, která bude vyvolána při zpracování nalezené značky v textu. V případě typu tagu „simple_replace“ není taková funkce nazývána, a proto lze v tomto parametru zadat null. $ params (v příkladu pole (‘start_tag’ \u003d\u003e ‘) ‘,‘ End_tag \u200b\u200b’\u003d\u003e‘‘)) Tento parametr označuje hlavně, který html tag by měl být vložen namísto značky bb. Název parametrů přímo závisí na tom, jaký typ tagu jsme zadali v parametru $ type. $ content_type (v příkladu „inline“) Typ interního obsahu značky. Může nabývat hodnot: „inline“, „block“, „link“, „image“. Pokud se nemýlím, můžete také zaregistrovat své typy, abyste mohli pro tento obsah zadat vlastní filtry (viz příklad použití filtrů níže). $ enabled_in (v příkladu je to hodnota array ("block", "inline")) V tomto parametru můžete určit, jaké typy objektů může být generovaný kód bb uvnitř (jeho zpracování bude jednoduše ignorováno). V našem příkladu jsme naznačili, že prvek může být jak uvnitř blokových prvků, tak uvnitř lineárních prvků. $ not_allowed_in (v příkladu záleží na poli ()) Má účel, který je ve smyslu opačném smyslu jako předchozí parametr.

Typy zpracování značek

Popis možností pro hodnotu parametru $ type ve funkci addCode.

„Simple_replace“ Popisuje jednoduchý párový tag. Při použití tohoto typu zpracování značky musí parametr funkce парамет params obsahovat dvě buňky: $ params [‘start_tag’] a $ params [‘end_tag’]. „Start_tag“ by měl obsahovat analog úvodní značky v HTML a „end_tag“ - konečnou značku. „Simple_replace_single“ Stejné jako „simple_replace“, ale používá se pouze u jednotlivých značek, které ve skutečnosti nemají žádný obsah (například br, hr atd.). Vyžaduje pouze parametr $ params ['start_tag' ']. „Callback_replace“ U tohoto typu přesunete zpracování nalezených shod (pomocí funkce zpětného volání) spárované značky. „Callback_replace_single“ Stejné jako „callback_replace“, ale pouze pro jednotlivé značky. „Usecontent“ Stejné jako „callback_replace“, pouze v obsahu takové značky nebudou zpracovány jiné značky, například je to vhodné pro kódovou značku. „Usecontent?“ Tento typ se může v závislosti na situaci chovat jako „usecontent“ nebo jako „callback_replace“. Relevance konkrétní možnosti je určena přítomností předem odhadovaného atributu ve značce bb. Pokud je atribut nalezen, bude použito zpracování „callback_replace“, jinak bude značka zpracována jako „usecontent“. Název atributu vyhledávání je určen parametrem $ params ['usecontent_param' ']. Pokud je zadán výchozí, pak je hodnota atributu přiřazena přímo ke značce, například hodnota výchozího atributu bude text „http: // link“. Tato technika se často používá například pro značku. Tuto značku lze použít ve dvou formách: http://www.example.com/ a text odkazu, jakož i [b] tučný text. V prvním případě bude použit typ „usecontent“, protože text odkazu by měl být zobrazen bez formátování (a ve skutečnosti bude samotný odkaz nesprávný, pokud obsahuje cizí znaky). V jiném případě by měl být použit typ „callback_replace“, protože samotný odkaz je předán jako samostatný parametr a text orámovaný v odkazu může dobře obsahovat nějaký druh formátování.
Poznámka: Můžete zadat několik parametrů pro jejich vyhledávání, pro které v $ params ['usecontent_param' '] musíte předat nikoli řetězec, ale pole obsahující řetězce. Například: $ bbcode-\u003e addCode (..., array (‘usecontent_param’ \u003d\u003e array (‘parametr1’, ‘parametr2’))), ...);. „Callback_replace?“ Je opak „usecontent?“. Pokud se ve značce vyskytne jeden z atributů zadaných v parametru usecontent_param, bude zpracován jako „usecontent“, jinak jako „callback_replace“.

Ukázkový kód z „bojových“ podmínek

Zde je příklad souboru index.php s pokročilejší konfigurací třídy pro zpracování většího počtu značek, je také možné pochopit, jak fungují funkce zpětného volání, atd .:

< ?php //Вставляем файл библиотеки require_once "bbcode/stringparser_bbcode.class.php"; //Приводит разнообразные переводы строк //разных операционных систем в единый формат (\n) function convertlinebreaks ($text) { return preg_replace ("/\015\012|\015|\012/", "\n", $text); } //Удалить все символы, кроме переводов строк function bbcode_stripcontents ($text) { return preg_replace ("/[^\n]/", "", $text); } //Функция для обработки ссылок function do_bbcode_url ($action, $attributes, $content, $params, $node_object) { if (!isset ($attributes["default"])) { $url = $content; $text = htmlspecialchars ($content); } else { $url = $attributes["default"]; $text = $content; } //Часть функции, которая занимается //только валидацией данных тэга if ($action == "validate") { if (substr ($url, 0, 5) == "data:" || substr ($url, 0, 5) == "file:" || substr ($url, 0, 11) == "javascript:" || substr ($url, 0, 4) == "jar:") { return false; } return true; } //Непосредственное преобразование тэга в //html вариант с возвращением результата return "". $ text." ";) // Funkce pro vkládání obrázků funkce do_bbcode_img (akce $, $ atributy, $ obsah, $ params, $ node_object) (// Část funkce, která // validuje data tagu pouze pokud ($ action \u003d\u003d "validate") (if (subst ($ content, 0, 5) \u003d\u003d "data:" || subst ($ content, 0, 5) \u003d\u003d "file:" || subst ($ content, 0) , 11) \u003d\u003d "javascript:" || subst ($ content, 0, 4) \u003d\u003d "jar:") (return false;) return true;) // Přímý převod značky na // html možnost s vrácením výsledku " ";) // Vytvoření objektu třídy StringParser_BBCode $ bbcode \u003d new StringParser_BBCode (); // Přidání filtru (další podrobnosti viz dokumentace) // pomocí naší funkce convertlinebreaks, která // převede řádkové zdroje v textu na jediný $ bbcode -\u003e addFilter (STRINGPARSER_FILTER_PRE, "convertlinebreaks"); // // Přidejte naše parsery pro různé typy objektů // (další podrobnosti viz dokumentace) // Označujeme, pomocí které funkce // by obsah těchto značek měl jít, například pomocí funkce // htmlspecialchars, aby se zabránilo XSS atd. $ bbcode-\u003e addParser (array ("block", "inline", "link", "listitem"), "htmlspecialchars"); $ bbcode-\u003e addParser (array (" blok "," inline "," link ", "listitem"), "nl2br"); $ bbcode-\u003e addParser ("list", "bbcode_stripcontents"); // Přidejte bb kód použitý jako: // Text záhlaví první úrovně $ bbcode-\u003e addCode ("h1" "," simple_replace ", , array (" start_tag "\u003d\u003e"

"," end_tag \u200b\u200b"\u003d\u003e"

")," block ", array (" listitem "," block "," link "), array ()); // Přidejte bb kód použitý ve tvaru: // Text záhlaví druhé úrovně $ bbcode-\u003e addCode ( "h2", "simple_replace", , array ("start_tag" \u003d\u003e "

"," end_tag \u200b\u200b"\u003d\u003e"

")," block ", array (" listitem "," block "," link "), array ()); // Přidejte bb kód použitý ve tvaru: // Text záhlaví třetí úrovně $ bbcode-\u003e addCode ( "h3", "simple_replace", , array ("start_tag" \u003d\u003e "

"," end_tag \u200b\u200b"\u003d\u003e"

")," block ", array (" listitem "," block "," link "), array ()); // Přidejte bb kód použitý ve tvaru: // Text záhlaví čtvrté úrovně $ bbcode-\u003e addCode ( "h4", "simple_replace", , array ("start_tag" \u003d\u003e "

"," end_tag \u200b\u200b"\u003d\u003e"

")," block ", array (" listitem "," block "," link "), array ()); // Přidejte bb kód použitý ve tvaru: // Text záhlaví páté úrovně $ bbcode-\u003e addCode ( "h5", "simple_replace", , array ("start_tag" \u003d\u003e "
"," end_tag \u200b\u200b"\u003d\u003e"
")," block ", array (" listitem "," block "," link "), array ()); // Přidejte bb kód použitý jako: // Text záhlaví šesté úrovně $ bbcode-\u003e addCode ( "h6", "simple_replace", , array ("start_tag" \u003d\u003e "
"," end_tag \u200b\u200b"\u003d\u003e"
")," block ", array (" listitem "," block "," link "), array ()); // Nastavuje příznaky pro bb kódy od h1 do h6, // označující, že se jedná o blokové prvky, // což bude dále těžit z inteligentního // generování html kódu. Takový prvek například nemůže být uvnitř jiných blokových prvků $ bbcode-\u003e setCodeFlag ("h1", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); $ bbcode -\u003e setCodeFlag ("h2", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); $ bbcode-\u003e setCodeFlag ("h3", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); bbcode-\u003e setCodeFlag ("h5", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); $ bbcode-\u003e setCodeFlag ("h6", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); // Přidat bb- od [b], se používá ve formě: // [b] vybraný text $ bbcode-\u003e addCode ( "b", "simple_replace", , pole ( "START_TAG" \u003d\u003e " "," end_tag \u200b\u200b"\u003d\u003e"")," inline ", array (" listitem "," block "," inline "," link "), array ()); // Přidejte bb kód [i] použitý ve tvaru: // [i] šikmý text $ bbcode-\u003e addCode ("i", "simple_replace", , array ("start_tag" \u003d\u003e " "," end_tag \u200b\u200b"\u003d\u003e"")," inline ", array (" listitem "," block "," inline "," link "), array ()); // Přidejte bb kód použitý ve tvaru: // http: // www. needsite.domain a // Text odkazu $ bbcode-\u003e addCode ("url", "usecontent?", "do_bbcode_url", array ("usecontent_param" \u003d\u003e "default"), "link", array ("listitem", " block "," inline "), array (" link ")); // Přidejte bb kód použitý ve tvaru: //http://www.needsite.domain $ bbcode-\u003e addCode (" link "," callback_replace_single "," do_bbcode_url ", array ()," link ", array (" listitem "," block "," inline "), array (" link ")); // Přidejte bb kód použitý ve tvaru: // http: //www.needsite.domain/img.jpg $ bbcode-\u003e addCode ("img", "usecontent", "do_bbcode_img", array (), "image", array ("listitem", "block", " inline "," link "), array ()); // Přidejte bb-kód (stejný význam // jako), použitý ve tvaru: //http://www.needsite. doména / img.jpg $ bbcode-\u003e addCode ("bild", "usecontent", "do_bbcode_img", array (), "image", array ("listitem", "block", "inline", "link"), array ()); // Vytvořte skupinu obrázků z kódů bb img a bild // pro následnou možnost nastavení // některá pravidla pro tyto skupiny $ bbcode-\u003e setOccurrenceType ("img", "image"); $ bbcode-\u003e setOccurrenceType ("bild", "image"); // Označujeme, že značky ze skupiny image // se mohou v textu vyskytnout (zpracovat) maximálně dvakrát //. V našem případě je to nezbytné, aby uživatel // nemohl vložit do textu zprávy $ bbcode-\u003e setMaxOccurrences ("image", 2) více než dva // obrázky; // Přidejte bb kód $ bbcode-\u003e addCode ("list", "simple_replace", , array ("start_tag" \u003d\u003e "
    "," end_tag \u200b\u200b"\u003d\u003e"
")," list ", array (" block "," listitem "), array ()); // Přidejte bb kód [*], což znamená, že tuto značku // lze použít pouze uvnitř značky // se seznamem typů (tento typ jsme přiřadili ke značce výše) $ bbcode-\u003e addCode ("*", "simple_replace", , array ("start_tag" \u003d\u003e "
  • "," end_tag \u200b\u200b"\u003d\u003e"
  • ")," listitem ", array (" list "), array ()); // Nastavení příznaků pro značky a [*] // Označují, že pro kód [*] je závěrečná značka // volitelná, takže je možné bude // následující konstrukce: // // [*] Položka // [*] Položka // // Závěrečná značka bude přidána automaticky // v procesu generování html kódu $ bbcode-\u003e setCodeFlag ("*", "closetag", BBCODE_CLOSETAG_OPTIONAL); // Jak tomu rozumím, tento příznak znamená, že značku [*] // lze vždy použít pouze // na začátku nového řádku $ bbcode-\u003e setCodeFlag ("*", "odstavce", true); // je element bloku $ bbcode-\u003e setCodeFlag ("list", "paragraph_type", BBCODE_PARAGRAPH_BLOCK_ELEMENT); // Před úvodní značkou // řádek bude odstraněn $ bbcode-\u003e setCodeFlag ("list", "opentag.before.newline", BBCODE_NEWLINE_DROP); // Před uzavírací značkou // bude řádek odstraněn $ bbcode-\u003e setCodeFlag ("list", "closetag .before.newline ", BBCODE_NEWLINE_DROP); // Jako výsledek můžeme použít seznamy v bb kódu, // pomocí seznamu a * tagů společně: // // [*] Element seznamu // [*] Element elementu // [ *] atd. // // Aktivace zpracování odstavců $ bbcode-\u003e setRootParagraphHandling (true); // Jak tomu rozumím, označuje to // jaké znaky chcete nahradit zalomený řádek uvnitř odstavce // (v podstatě jak zacházet s prázdnými odstavci). $ bbcode-\u003e setParagraphHandlingParameters ("\\ n", ""); $ res_text \u003d "Testovat text [b] pro otestování provozu třídy"; // Pro případ, že odstraníme všechny zbývající konce řádků ve tvaru "\\ r", // pokud zůstaly v textu $ res_text \u003d str_replace ("\\ r", "", $ res_text); // Voila! echo $ bbcode-\u003e parse ($ res_text);

    Doslov

    Samozřejmě jsem neprovedl úplný překlad dokumentace, ale pouze to nejnutnější minimum, pro podrobnější dokumentaci můžete odkazovat na oficiální webové stránky (obecně jsou popsány mnohem více různých možností).

    Tuto knihovnu není také obtížné implementovat v žádném php rámci, například jsem to úspěšně provedl pro cackePHP.

    Pokud jste také viděli podobné knihovny (pracují správně s odstavci! 🙂), bylo by zajímavé o nich vědět.

    Vstup

    Co je bbcode? BBCode je speciální implementace jazyka HTML, která poskytuje pohodlnější funkce pro formátování zpráv. Schopnost používat BBCode ve zprávách určuje administrátor. BBCode můžete navíc kdykoli deaktivovat v jakékoli zaslané zprávě přímo z jeho psací formy. BBCode sám o sobě je velmi podobný stylu HTML, ale značky v něm jsou uzavřeny v hranatých závorkách [...] a ne v< … >. Při použití některých šablon můžete BBCode přidat ke zprávám pomocí jednoduchého rozhraní umístěného nad polem pro zadávání textu. Ale i tehdy by vám mohlo být přečtení této příručky užitečné.

    Formátování textu

    Jak udělat tučný, kurzívou nebo podtržený text?    BBCode obsahuje značky pro rychlou změnu stylu textu těla. Můžete to provést následujícími způsoby:
    • Chcete-li, aby byl text tučný, uzavřete jej do značek [b]. Příklad:

      [b]Ahoj

      bude rozdávat Ahoj

    • Používejte podtržené značky [u]. Příklad:

      [u]Dobré ráno

      vydá dobré ráno

    • Kurzíva se provádí pomocí značek. [i]. Příklad:

      To je [i]skvělé!

      to rozdá skvělé!

    Jak změnit barvu nebo velikost textu?    Následující značky lze použít ke změně barvy nebo velikosti písma (výsledný vzhled bude záviset na systému uživatele a prohlížeči):
    • Barvu textu můžete změnit obklopením značkami. . Můžete zadat známý název barvy (červená, modrá, žlutá atd.) Nebo jeho hexadecimální reprezentaci (#FFFFFF, # 000000 atd.). Chcete-li tedy vytvořit červený text, můžete použít:

      Ahoj

      Ahoj

      Obě metody vyústí v Hello!

    • Změna velikosti se dosáhne stejným způsobem při použití značky. . Tato značka závisí na použitých šablonách, ale doporučený formát je číselná hodnota zobrazující velikost textu v procentech, od 20 (velmi malá) do 200 (velmi velká) výchozí velikosti. Příklad:

      MALÉ

      s největší pravděpodobností rozdá FINE

      zatímco:

      VELMI VELKÉ!

      dá velmi velký!

    Lze značky formátování kombinovat?    Ano, samozřejmě můžete. Chcete-li například upoutat pozornost, můžete napsat:

    [b]Podívejte se na mě!

    co dá Podívejte se na mě!

    [b] [u]Tato položka je nesprávná

    Citace a zobrazení formátovaných textů

    Citace textu v odpovědích    Texty lze citovat dvěma způsoby: s uvedením autora a bez uvedení.
    • Když pomocí tlačítka Citovat odpovíte na zprávu, text zprávy se přidá do pole pro zadávání textu obklopené značkami . Tato metoda umožňuje citovat s odkazem na autora nebo na něco jiného, \u200b\u200bco zadáte do uvozovek. Například citovat část textu napsaného panem Blobby, zadejte:

      Zadejte text od pana zde Blobby

      Výsledkem je, že před odpovědí na zprávu se objeví text „Mr. Blobby napsal: ". Pamatujte si je nutné   uzavřete jméno do uvozovek („“), nelze je vynechat.

    • Druhá metoda vám umožňuje něco citovat. Chcete-li to provést, vložte text mezi značky . Při prohlížení zprávy bude tento text v citačním bloku.
    Výstup kódu nebo formátovaného textu    Pokud potřebujete zobrazit část programového kódu nebo něco jiného, \u200b\u200bco by se mělo zobrazovat v písmu s pevnou šířkou (Courier), uzavřete text do značek . Příklad:

    echo "Toto je programový kód";

    Veškeré formátování použité uvnitř značek bude uložen. Zvýraznění syntaxe kódu PHP lze provést pomocí značky   a je doporučeno při odesílání zpráv obsahujících fragmenty kódů PHP.

    Vytvořit seznamy

    Vytvořte seznam s odrážkami    BBCode podporuje dva typy seznamů: odrážky a číslované. Jsou téměř totožné s jejich ekvivalenty HTML. V seznamu s odrážkami jsou všechny prvky zobrazeny postupně, každý je označen symbolem značky. Vytvořte seznam s odrážkami pomocí značek.   a definujte každý prvek seznamu pomocí [*] . Chcete-li například zobrazit své oblíbené barvy, můžete použít:


    [*] Červená
    [*] Modrá
    [*] Žlutá

    Výsledkem bude seznam takto:

    • Červená
    • Modrá
    • Žlutá
    Vytvořte číslovaný seznam    Druhý typ seznamu - číslovaný, umožňuje zvolit, co přesně se bude zobrazovat před každým prvkem. Vytvořte číslovaný seznam pomocí značek. , nebo   vytvořit abecední seznam. Stejně jako u seznamu s odrážkami jsou položky seznamu definovány pomocí [*] . Příklad:


    [*] Jděte do obchodu
    [*] Kupte si nový počítač
    [*]

    bude produkovat následující:

    1. Jděte do obchodu
    2. Kupte si nový počítač
    3. Vyhladávání počítače, když dojde k chybě
    Pro abecední seznam použijte následující:


    [*] První možná odpověď
    [*] Druhá možná odpověď
    [*] Třetí možná odpověď

    co dá

    1. První možná odpověď
    2. Druhá možná odpověď
    3. Třetí možná odpověď

    Vytváření odkazů

    Odkazy na jiný web    phpBB podporuje několik způsobů vytváření odkazů, známých také jako URL.
    Stejně jako u všech ostatních značek BBCode můžete propojit jakékoli jiné značky. Například   (viz následující odstavec) [b] atd. Stejně jako u formátovacích značek je správné vnoření značek jen na vás. Například následující položka:

    http://www.teosofia.ru/my-picture.gif

    není správná, což může vést k následnému odstranění vaší zprávy. Buďte opatrní.