BBCode-dan HTML-ə

2 reytinqdən 5

BBCode-dan HTML-ə, forum redaktorlarından kənarda istifadə etmək üçün BBCode fraqmentlərini xam HTML-ə çevirən pulsuz alətdir.

BBCode çevrilməsi hansı problemi həll edir?

BBCode çevrilməsi forum üslubundakı işarələməni brauzerlərin, məzmun idarəetmə sistemlərinin və veb şablonların oxuya bildiyi HTML-ə çevirir. BBCode-da HTML elementləri əvəzinə [b], [i] və [url] kimi kvadrat mötərizəli teqlərdən istifadə olunur.

Bu, forum yazılarını köçürərkən, üçüncü tərəf API-sindən gələn məzmunu sazlayarkən və ya köhnə bilik bazasını BBCode deyil, HTML qəbul edən platformaya hazırlayarkən faydalıdır. İdxal olunmuş mətn tətbiqin qalan kodundan ayrıca yoxlanmalıdırsa, alət yerləşdirmədən əvvəl də kömək edə bilər.

BBCode rəsmi şəkildə standartlaşdırılmış vahid dil deyil. Forum paketləri və plaginlər öz teqlərini, atributlarını və iç-içə yerləşdirmə qaydalarını müəyyən edə bilər. Buna görə adi formatlamada düzgün işləyən çevrilmə, mənbədə spoyler blokları, qoşma istinadları və ya fərdi media teqləri kimi platformaya xas konstruksiyalar olduqda əlavə düzəliş tələb edə bilər.

BBCode-u HTML-ə necə çevirim?

Mənbə işarələməsini BBCode sahəsinə daxil et və ya yapışdır, sonra çevrilmiş kodu HTML sahəsində yoxla. Elementlərin və keçidlərin nəzərdə tutulan məzmuna uyğun olduğuna əmin olduqdan sonra HTML-i təyinat yerinə köçür.

  1. Açılış və bağlanış teqləri daxil olmaqla bütün BBCode fraqmentini kopyala.
  2. Kvadrat mötərizələri dəyişmədən onu BBCode sahəsinə yerləşdir.
  3. Xam nəticəni HTML sahəsində nəzərdən keçir.
  4. Keçidləri, şəkilləri, siyahıları və iç-içə formatlamanı orijinal forum yazısı ilə müqayisə et.
  5. Etibar edilməyən nəticəni açıq səhifədə göstərməzdən əvvəl təhlükəli məzmundan təmizlə.

Çevrilmə serverdə aparılır. Daxil etdiyin məlumat HTTPS üzərindən serverə ötürülür və saxlanmır.

Qaytarılan HTML-i necə oxumalıyam?

Nəticəyə vizual önbaxış kimi deyil, mənbə kodu kimi bax. Qaytarılan HTML-də mənbə BBCode ilə ifadə olunmuş struktur və formatlamanı təmsil edən elementlər olmalıdır.

Sadə bir nümunə:

BBCode girişi: [b]Release note[/b]

HTML çıxışı: "Release note" mətnini ehtiva edən qalın və ya güclü vurğunu bildirən HTML elementi.

Digər geniş yayılmış nümunə:

BBCode girişi: [url=https://example.org/docs]Read the docs[/url]

HTML çıxışı: ünvanı https://example.org/docs, görünən mətni isə "Read the docs" olan keçid elementi.

BBCode dialektləri standartlaşdırılmadığı üçün konkret element adları çeviricidən asılı olaraq dəyişə bilər. Məsələn, qalın mətn əlavə əhəmiyyət bildirmədən diqqət çəkən b elementi və ya yüksək əhəmiyyət bildirən strong elementi ilə göstərilə bilər. Müəyyən uyğunluğun tətbiq edildiyini fərz etmə, faktiki nəticəni HTML sahəsində yoxla.

Bu alət çeviricidir, HTML validatorunu və ya təhlükəsizlik üçün təmizləmə vasitəsini əvəz etmir. Dəyişmədən qalan BBCode, çatışmayan məzmun və ya qəribə şəkildə iç-içə yerləşdirilmiş elementlər mənbədə səhv və ya dəstəklənməyən sintaksisin əlaməti ola bilər. Tezin rast gəlinən problemlərə bağlanmamış teq, yanlış ardıcıllıqla yazılmış bağlanış teqi, səhv qurulmuş atribut və ümumi HTML qarşılığı olmayan foruma xas teqlər daxildir.

Mürəkkəb girişlər və dialekt fərqləri

Boşluqlar, durğu işarələri, rəqəmlər, aksentli hərflər və latın qrafikasından fərqli yazılar teq sintaksisinin və ya atributların daxilində olmadıqda adi mətn sayılır. Onlar ayrıca işarələməyə çevrilmədən məzmun kimi qalmalıdır. URL-lər daha diqqətli yanaşma tələb edir. Boşluq kimi URL-in bir hissəsi olan simvolların faizlə kodlaşdırılması, ampersand və dırnaq işarələri kimi ətrafdakı HTML atribut sintaksisində xüsusi məna daşıyan simvolların isə HTML qaydasında ekranlaşdırılması lazım gələ bilər.

  • Yanlış iç-içə yerləşdirmə: [b][i]Text[/b][/i] teqləri səhv ardıcıllıqla bağlayır. Düzgün iç-içə işarələmədə əvvəlcə daxildəki teq bağlanır.
  • Çatışmayan bağlanış teqləri: son teq buraxıldıqda [quote]Text üçün uyğun bağlanış teqi olmur.
  • Fərdi teqlər: [spoiler], [video] və qoşma teqləri müxtəlif forum proqramlarında fərqli məna daşıya bilər.
  • Mövcud HTML: BBCode-a qarışdırılmış HTML parserdən asılı olaraq ekranlaşdırıla, saxlanıla və ya mətn kimi qəbul edilə bilər. Universal qaydaya güvənmək əvəzinə nəticəni diqqətlə yoxla.
  • Çox uzun giriş: böyük həcmli köçürmələri adətən hissələrə bölərək emal etmək daha rahatdır. Beləliklə, uğursuz qeydləri tapmaq və düzəltmək olur.

Boş girişdə çevriləcək formatlama strukturu yoxdur. Mənbə heç bir BBCode teqi olmayan sadə mətndirsə, çevrilmənin faydası az ola bilər. Bununla belə, HTML-in sonrakı emalı zamanı <, > və & kimi simvolların ekranlaşdırılması yenə də tələb oluna bilər.

Hansı hallarda çevirməyə dəyməz?

Məzmun yalnız onun ilkin BBCode dialektini artıq anlayan sistemdə oxunacaqsa, çevirməyə dəyməz. Formatın dəyişdirilməsi əlavə emal mərhələsi yaradır və foruma xas davranışların itirilməsinə səbəb ola bilər.

Sistem BBCode-u dəyişmədən saxlayıb daha sonra eyni forum mühərriki ilə göstərəcəksə, çevrilmə yenə lazım deyil. Eyni qaydada, yaradılmış HTML-i yalnız maşın oxuyacaqsa, onu gözəlləşdirməyin və ya əl ilə yenidən düzməyin faydası azdır. Yalnız versiyalara nəzarət sistemində yoxlama və ya sazlama üçün formatlama lazım olduqda bu iş mənalı ola bilər.

Kütləvi köçürmələrdə skriptlə işləyən parser daha uyğun ola bilər, çünki o, bütün qeydlərə eyni dialekt qaydalarını tətbiq edə və xətaları jurnala yaza bilər. İç-içə işarələmə üçün təkcə müntəzəm ifadələrdən istifadə etmək risklidir. İç-içə strukturu, atributları və səhv girişləri anlayan parserdən istifadə et, sonra alınan HTML-i ayrıca yoxla və təhlükəli məzmundan təmizlə. Çevrilmiş məzmunda daxili JSON konfiqurasiyası varsa, JSON validatoru və gözəlləşdiricisi həmin məlumatları yoxlamağa kömək edə bilər, amma ətrafdakı HTML-i yoxlamır.

Tez-tez verilən suallar

Çevrilmiş BBCode-u birbaşa yayımlamaq təhlükəsizdir?

Xeyr. Etibar edilməyən forum yazılarından yaradılmış HTML göstərilməzdən əvvəl yalnız icazə verilən elementləri saxlayan HTML təmizləyicisindən keçirilməlidir. Bu, xüsusilə keçidlər, şəkillər, yerləşdirilmiş media və əvvəlcədən HTML-ə bənzər mətn ehtiva edə bilən mənbələr üçün vacibdir.

Sətirsonları HTML abzaslarına çevriləcək?

Sətirsonlarının emalı BBCode parserindən və mənbə platformanın qaydalarından asılıdır. Bəzi sistemlər boş sətirləri abzas kimi qəbul edir, digərləri isə sətirsonu elementləri əlavə edir və ya adi boşluqları olduğu kimi saxlayır. Böyük həcmli məzmunu köçürməzdən əvvəl çoxsətirli nümunəni forumdakı orijinal görünüşlə müqayisə et.

BBCode Unicode simvollarını dəstəkləyir?

BBCode aksentli simvollar, emoji və latın qrafikasından fərqli yazılar daxil olmaqla Unicode mətni ehtiva edə bilər, çünki bunlar teq sintaksisi deyil, məzmundur. Təyinat səhifəsi də uyğun simvol kodlaşdırmasından, adətən UTF-8-dən istifadə etməlidir. Əks halda çevrilmədən sonra mətn səhv görünə bilər.

CSV və ya verilənlər bazası ixracındakı BBCode-u çevirə bilərəm?

Bütün ixrac faylını deyil, sahələrin dəyərlərini çevir. CSV-dəki dırnaq qaydaları, ayırıcılar və verilənlər bazasının ekranlaşdırma ardıcıllıqları konteyner formatına aiddir və işarələmə çeviricisindən keçirildikdə zədələnə bilər. Dəyişdirilməmiş ehtiyat nüsxəni saxla və çevrilməni bütün sətirlərə tətbiq etməzdən əvvəl kiçik bir hissədə sına.

HTML-i idxal etməzdən əvvəl nələri yoxlamalıyam?

İç-içə formatlama, keçid, siyahı, şəkil istinadı və mənbə forumda işlədilən bütün fərdi teqləri ehtiva edən nümunəni yoxla. Təyinat sisteminin həmin HTML elementlərini və atributlarını qəbul etdiyini təsdiqlə, sonra tam idxaldan əvvəl tələb olunan təmizləmə və ya doğrulama mərhələsini icra et.

Populyar alətlər