Zum Inhalt springen

Sonderzeichen ersetzen

Erstellt am 7. Oktober 2009 · 16 Antworten · letzte Antwort am 27. November 2009

Tags: Frage

Pewe_at ·

Danke für den Tipp!
Aberwie schreib ich die Story, wenn ich 2 Wörter - z.b "Max Mustermann" finden und "stylen" soll???
Die beiden Wörter stehen immer in der gleichen Reihenfolge und nur wenn Sie in der Kombination stehen....
lg Pewe

freshman17 ·

@Pewe_at:

z.B. so:

config.regex {
  # Wenn Gross- und Kleinschreibung eine Rolle spielt
  pattern1 = /Max Mustermann/
  # und wenn sie keine spielt so:
  # pattern1 = /Max Mustermann/i
  pattern1.replacemant = <span style="color: #ff0;">Max Mustermann</span>
}
Pewe_at ·

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

Pewe_at ·

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 ·

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:

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

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:

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>
}

läuft schon super! 😃

Der zweite Tipp mit:

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

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 ·

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 >

# 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>
}

gruss, fuss