Sonderzeichen ersetzen [Gelöst]

  • 3d-swiss 3d-swiss
    Padawan
    0 x
    44 Beiträge
    0 Hilfreiche Beiträge
    07. 10. 2009, 12:32

    [TS]INHALT = CONTENT
    INHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0
    table.20 = TEXT
    table.20 {
    field = bodytext
    select.split {
    token = ®
    cObjNum = |*|1|*|2
    1.current = 1
    1.noTrimWrap = ®| <sup class="reg">&reg;</sup> |
    2.current = 1
    }
    }
    }
    [/TS]

    Hallo zusammen,

    ich möchte gerne ® und auch andere Sonderzeichen im Inhalt und auch später in Seitentitel, Überschriften ect. gegen eine andere Schreibweise ersetzen lassen.

    Leider habe ich im Internet nur bruchstückhafte Lösungen gefunden, daraus ist der obige Versuch entstanden, der leider nichts verändert.

    Was mache ich falsch?

    Danke für`s Lesen und die Hilfe im Voraus.


  • Pewe_at Pewe_at
    T3PO
    0 x
    30 Beiträge
    0 Hilfreiche Beiträge
    14. 10. 2009, 14:47

    Nö! Hat leider auch keinerlei Wirkung gezeigt!

    Ist da eventuel zusätzlich noch etwas notwendig, das ich ev. nicht im System haben könnte?

    mfg Pewe_at

  • freshman17 freshman1...
    Sternenflotten-Admiral
    0 x
    218 Beiträge
    2 Hilfreiche Beiträge
    14. 10. 2009, 17:09

    Ne eigentlich nicht! Klappt es mit anderen Zeichen auch nicht?

  • Pewe_at Pewe_at
    T3PO
    0 x
    30 Beiträge
    0 Hilfreiche Beiträge
    14. 10. 2009, 19:55

    Ne, das Script macht leider gar nichts!
    Ich hab sogar den "Tippfehler" (replacemant ) auf replacement ausgebessert.... :o ...wenn's einer ist.... :o

    Vom Alex hab ich noch Tipps bekommen, die beruhen allerdings auf eigenen Ext, die grundlegend was anderes machen sollten. Diese, eigentlich einfache Funktion klappt aber leider nicht. Ein "Wort" hab ich geschafft, bei 2 gehts nicht mehr.

    lg Pewe

  • freshman17 freshman1...
    Sternenflotten-Admiral
    0 x
    218 Beiträge
    2 Hilfreiche Beiträge
    14. 10. 2009, 20:20

    1. Saug dir neue Version (0.0.3)
    2. Prüfe Unter Template->Constant Editor -> Category: PLUGIN.REGEX ob das Plugin aktiviert ist (1 muß da stehen)
    3. Wie ist dein Leerzeichen zwischen Max und Mustermann definiert (& nbsp; ,& #160; oder implizites Leerzeichen)? Pattern Matching muß zu 100% stimmen sonst klappts nicht!!!

    Versuch das (da ist ein Leerzeichen bei & nbsp; und bei & #160; welche du herausnehmen solltest:

    [TS]config.regex {
    pattern1 = /\bMax(?:(?:& nbsp;)|\s|(?:& #160;))+Mustermann/
    pattern1.replacement = <span style="color: #ff0;">Max Mustermann</span>
    }
    [/TS]

  • Pewe_at Pewe_at
    T3PO
    0 x
    30 Beiträge
    0 Hilfreiche Beiträge
    15. 10. 2009, 09:13

    Jetzt hab ich das halbe System nochmal übergedreht, alles alte rausgeschmissen, deine regex 0.0.3 reingespielt und:

    Es läuft so wie's sein soll! :p

    Sogar der erste Versuch mit:

    [TS]config.regex {
    # Wenn Gross- und Kleinschreibung eine Rolle spielt
    # pattern1 = /Max Mustermann/
    # und wenn sie keine spielt so:
    pattern1 = /Max Mustermann/i
    pattern1.replacement = <b>Max Mustermann</b>
    }
    [/TS]

    läuft schon super! :D

    Der zweite Tipp mit:
    [TS]config.regex {
    pattern1 = /\bMax(?:(?:& nbsp;)|\s|(?:& #160;))+Mustermann/
    pattern1.replacement = <span style="color: #ff0;">Max Mustermann</span>
    }
    [/TS]
    sieht auf den ersten Blick :o etwas verwirrend aus, ist aber perfekt gelöst!

    Ich nehme an, dass irgend einer der notwenigen Teile auf meinem Testsystem zerschossen war - sonst war ja irgendwas passiert...
    Danke nochmal!
    lg Pewe_at

  • fuss fuss
    Jedi-Meister
    0 x
    375 Beiträge
    0 Hilfreiche Beiträge
    27. 11. 2009, 17:20

    Olla!

    Anbei noch eine reine TS-Lösung - obwohl der Gedanke mit regEx arbeiten zu könen, auch sehr interessant ist :).
    Diese ersetzt den String CPRGHT mit < sup >®< /sup >

    [TS]# replace CPRGHT with <sup>®</sup>
    # headers
    lib.stdheader.10.setCurrent.parseFunc.short.CPRGHT = <sup>®</sup>

    # regular content
    tt_content.text.20.parseFunc.short.CPRGHT = <sup>®</sup>

    # menues
    tt_content.menu.20.stdWrap.parseFunc.short.CPRGHT = <sup>®</sup>
    lib.parseFunc.short {
    CPRGHT = <sup>®</sup>
    }

    #rte
    lib.parseFunc_RTE.short {
    CPRGHT = <sup>®</sup>
    }[/TS]

    gruss, fuss

    my system:
    C-64 I, 65816@20mhz, 16mb ram, 4x 6581r4 (12 channel fm-sound), 384mb scsi hd
    go sixtyfour! go!