< als &lt; und > als &gt; darstellen

  • Hi,
    bei "Do...Until" z. B.
    ist der Syntax in der deutschen Hilfe falsch.
    Dies dürfte daran liegen, dass &lt; sofort in < und &gt; in > umgewandelt wird.

    Wenn jedoch auf der Übersetzseite < und > eingeben wird, wird es in der Hilfe nicht angezeigt.

    Ist es möglich statt< &lt; und statt >&gt; anzeigen zu lassen (im englischen und deutschen)???


    Bisher bekannte betroffene Dateien:
    GUIRef.htm
    GUIRef_MessageLoopMode.htm
    GUIRef_OnEventMode.htm
    Do...Until.txt
    While...WEnd.txt

  • Dieses Problem wird wahrscheinlich mit diesem Skript gelöst.
    Es wird vor dem kompilieren ausgeführt

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Dim $array, $array_dateien

    [/autoit] [autoit][/autoit] [autoit]

    $pfad_englisch = "..\english\"
    $pfad_englisch_txt2htm = $pfad_englisch & "txt2htm\"
    $pfad_1 = $pfad_englisch_txt2htm & "txtFunctions\"
    $pfad_2 = $pfad_englisch_txt2htm & "txtKeywords\"
    $pfad_3 = $pfad_englisch_txt2htm & "txtlibfunctions\"

    [/autoit] [autoit][/autoit] [autoit]

    _aendern($pfad_1)
    _aendern($pfad_2)
    _aendern($pfad_3)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _aendern($pfad)
    $array_dateien = _FileListToArray($pfad, "*.txt", 1)

    [/autoit] [autoit][/autoit] [autoit]

    For $r = 1 To UBound($array_dateien) - 1
    $dateiname = $array_dateien[$r]
    _FileReadToArray($pfad & $dateiname, $array)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To UBound($array) - 1
    $array_tmp = StringRegExp($array[$i], "<{1}[\w]{2,}>{1}", 3) ; < dann mindestens 2 Buchstaben dann >

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($array_tmp) Then
    For $z = 0 To UBound($array_tmp) - 1
    $array_tmp_neu = StringReplace($array_tmp[$z], "<", "&lt;")
    $array_tmp_neu = StringReplace($array_tmp_neu, ">", "&gt;")
    $array[$i] = StringReplace($array[$i], $array_tmp[$z], $array_tmp_neu)
    Next
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _FileWriteFromArray($pfad & $dateiname, $array, 1, 0)
    Next
    EndFunc ;==>_aendern

    [/autoit]
  • Hi,
    hast du es getestet?
    ich kann so von PHP Seite leidernet so viel machen.
    Sorry.

    MfG
    Der_Doc


    Du könntest ein Stringreplace beim Speichern drüberlaufen lassen (nur bei den .txt-Dateien):

    PHP
    $translated_text = preg_replace('/(#include\h*)<(.*?)>/i', '\1&lt;\2&gt;', $translated_text);

    Bei den HTML-Dateien kann man nichts machen, da ja auch die HTML-Tags mit <> begrenzt werden und man das nicht unterscheiden kann.

  • Naja das funktionier aber leider ja dan nur bei den txt-Dateien.

    Wir brauchen es ja bei den Au3 und HTML Sachen. :huh:
    Hätten die Sachen denn net mit { und } markiert sein !!! :cursing:
    Mit allen HTML Escape-Befehlen werden auch immer unsere Zeichen gewandelt die wir brauchen.

    MfG
    Der_Doc

  • benutzt ihr denn kein geshi?
    wenn nein, benutzt doch einfach htmlspecialchars
    soll ja nicht nur in #include die spitzen klammern ersetzen, sondern allgemein denk ich... (wird ja vllt auch in strings ma vorkommen)

    edit: ok das mit dem geshi hat sich geregelt, habt ja kein highlighter...
    dann htmlspecialchars

    der_doc ich dachte du hast die hilfe programmiert (das skript dazu)?!?
    aber du kannst kein php?
    hast du es doch nicht programmiert oder hast du es mit was anderem gemacht?

    edit2: @progandy
    nicht beim speichern, sondern beim auslesen (ausgeben), wär besser denk ich, so dass es richtig in die datenbank gespeichert wird...

  • Naja wie gut ich PHP behersche müssen ander User bestätigen.
    Ich meine das ich leider nicht nur die HTML-Tags ändern kann. ;)
    #include <array.au3> wird leider auch mit allen Escapebefehlen (htmlspecialchars , htmlentities) als HTML Tag erkannt.

    Das meinte ich mit "Ich kann aus PHPsicht nicht viel machen".
    Ich habe Translation auch nur umgebaut. die Grundidee ist von Peethebee. :thumbup:

    EDIT
    Vielleicht könnte man ja eine Tagliste hinterlegen und die Tags die in der Liste vorkommen sollen ignoriert werden.
    Werde das mal prüfen. 8)

    MfG
    Der_Doc

    Einmal editiert, zuletzt von Der_Doc (8. März 2010 um 06:40)