Na navigaci | Klávesové zkratky

Silná konkurence pro GeSHi?

Pokud jste se někdy zajímali o zvýrazňování syntaxe u publikovaných zdrojových kódů, nejspíš jste narazili na knihovnu GeSHi. Tento počin dvacetiletého Novozélanďana Nigela McNie si získal velkou oblibu a také jsem jej použil pro zvýrazňování kódu v Texy a zde na La Trine.

Jak je z tohoto příkladů patrné, GeSHi má velké problémy s kódováním UTF-8 (bohužel, autorův nativní jazyk je angličtina). Někdy vyhodí zcela nevalidní UTF řetězec, což představuje smrt pro striktní XML parser. GeSHi také není žádný rychlík, což by mi zas tak nevadilo – kešuji, kudy chodím.

Narazil jsem ale na jiný zvýrazňovač FSHL, jehož autor je „soused“ Slovák Juraj ‚hvge‘ Ďurech. Už na první pohled je patrné, že FSHL toho umí opravdu hodně. Všimněte si, jak ladně přechází mezi ‚podzimním‘ PHP do ‚jarního‘ HTML a ‚zimního‘ CSS. Barevné ladění je velmi příjemné. I když o to tady nejde.

A rychlost? Podle prvních měření je FSHL cca 10× rychlejší než GeSHi. Zbývá jen zjistit, jak je to s podporou UTF. A pak FSHL nasadím.

Aktualizováno:
FSHL jsem už nasadil. Podpora UTF-8 se zdá být ok, jen je třeba nahradit volání htmlEntities(...) za htmlEntities(..., ENT_COMPAT, 'UTF-8').

před 20 lety v rubrice PHP | blog píše David Grudl | nahoru

Mohlo by vás zajímat

Komentáře

  1. pif #1

    avatar

    ooo no to vypada velice dobre…

    před 20 lety
  2. hvge #2

    Zdravim, pokial ti to funguje tak ako popisujes, mozes si kludne spravit vlastny vystupny modul. Jediny problem, ktory by mohol nastat je ten, ze FSHL spracuva text znak po znaku, co v pripade raw textu v multibyte kodovani moze byt obcas problem (pretoze napr. 3 bajtovy kod sa spracuje bajt po bajte).

    Btw, za peknu farebnu temu dakujte Martinovi Cohenovi (vid credits:)

    před 20 lety
  3. johno #3

    avatar

    Som rád, že došlo na naše slová.

    před 20 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.


phpFashion © 2004, 2024 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.