Oznámení

Provoz fóra byl ukončen

Texy! + FSHL

před 12 lety

Jonge
Člen | 6

Ahoj Davide,

mohl by jsi uvolnit verzi Texy! spolu se zvýrazňovačem kódu FSHL tak, aby automaticky zvýrazňoval kód? Moc by to pomohlo nejen mně, ale i ostatním lidem kterých jsem se ptal.

Předem díky.

David (ano, jsem taky David ;-))

před 12 lety

Acci
Člen | 83

Vždyť přímo v balíku Texy je ukázka, jak rozchodit Texy spolu s FSHL, stačí si do příslušného adresáře jen FSHL zkopírovat.

před 12 lety

Jonge
Člen | 6

A jo, sorry, já jsem si toho nevšiml… dík.

před 12 lety

Jonge
Člen | 6

Ještě jeden dotaz – z toho FHSL mi vždycky vyjede kód ve špatném kódování. Řeším to už dost dlouho a pořád nic :( co dělám špatně? Mimochodem používám UTF-8.

Toto je má konfigurace:

require("../texy.php");

function doFSHL($element) {
    $lang = strtoupper($element->lang);
    if ($lang == 'JAVASCRIPT') $lang = 'JS';
    if (!in_array(
            $lang,
            array('CPP', 'CSS', 'HTML', 'JAVA', 'PHP', 'JS', 'SQL'))
       ) return;

    $parser = new fshlParser($element->texy->utf ? 'HTML_UTF8' : 'HTML', P_TAB_INDENT);
    $element->setContent($parser->highlightString($lang, $element->getContent()), TRUE);
}

$texy = &new Texy();
$texy->utf = TRUE;
$texy->trustMode();
$texy->headingModule->top = 3;

$texy->tableModule->evenClass = "sude";
$texy->tableModule->oddClass = "liche";

$texy->smiliesModule->allowed = 1;
$texy->smiliesModule->root = "../img/smiles/";

$texy->blockModule->codeHandler = "doFSHL";

(.....)

$text = $texy->process($text);

Bez FSHL je kódování v pohodě, s FSHL je takto špatně…

před 12 lety

David Grudl
Nette Core | 6806

Zkus tohle: vyhledej ve zdrojáku FSHL (soubory HTML_output.php a HTML_UTF8_output.php) řádky:

$word = htmlEntities($word, ENT_COMPAT, 'UTF-8');
nebo
$word = htmlEntities($word);

a nahraď za

$word = htmlSpecialChars($word);

před 12 lety

Jonge
Člen | 6

Super, funguje to. Myslel jsem si že chyba musí být někde u mně a ne v tom zdrojovém kódu FSHL.