Visual Basic – pryč s koncem řádku v preformátovaném textu

Datum vydání: 2011-11-13 19:00:00; aktualizováno: 2019-11-12 08:59:15

Používám redakční systém Joomla a implementovala jsem si do něj SyntaxHighlighter pro zdůraznění syntaxe programátorského kódu.

Bohužel editor v Joomle nedokáže uchovat správné formátování tagu pro preformátovaný text <pre> v původní podobě a občas tam naseká místo klasického odřádkování tagy konce řádku <br />. Ty jsou pak samozřejmě při výpisu přes SyntaxHighlighter v HTML vidět. Když není použit SyntaxHighlighter, tak se text zobrazuje správně, i když tam jsou tagy <br />.

Zatím nevím, jak situaci přesně vyřešit, ale nahrála jsem si pro tento účel ve Wordu makro, které mi dokáže zpátky nahradit <br /> za odstavce. Já si pak takto upravený text zkopíruji a zpátky přes HMTL editor do administrace Joomly. Je to krkolomné, ale funkční – alespoň pro začátek, než situaci vyřešním nějak jinak.

Zdrojový kód makra ve Wordu

Sub KorekceTeguPRE()
'
' KorekceTeguPRE Makro
'
'
    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "
" .Replacement.Text = "^p" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub

Pozn.: V makru mám veškeré <br /> nahrazeny odstavcem. Nezkoumám ale, zda jsou to pouze <br /> uvnitř <pre>. Je to pouze jednoduché, hloupé a rychle udělané makro formou nahrávání :).