Regular Expressions für unsere Color-Tags: Wer kann es lösen?
Hi,
ich benötige bei unseren Regular Expressions mal etwas Hilfe. Der Color-Code in der Textformatierung funktioniert leider nicht einwandfrei. Evtl findet ihr eine gute Lösung. Hier die Bedingungen:
Der Text:
Hier die aktuelle RegEx Bedingung, die im Beispiel aber nicht funktioniert (ohne die Rauten im Text schon):
Hier die Seite, um das es zu prüfen: regexpal.com/
Ziel ist es, nur die beiden Color-Codes als Ergebnis zu bekommen.
Hier ein paar Hilfen zu den Regular Expressions: blog.weblogie.de/webentwicklung/merkblatt-regular-expressions/
Hier die PHP Doku zum Befehl, der verwendet wird: php.net/manual/en/function.preg-replace.php
Wer hat die Lösung? Er wird natürlich auch in der Release Note dankend erwähnt. Ruhm und Ehre winken!
Gruß
Frank
ich benötige bei unseren Regular Expressions mal etwas Hilfe. Der Color-Code in der Textformatierung funktioniert leider nicht einwandfrei. Evtl findet ihr eine gute Lösung. Hier die Bedingungen:
Der Text:
Dieser ##red|Text ist rot,## aber dieser hier nicht. Jetzt kommt die Raute ############ warum auch immer. Nun noch einmal ein ##green|grüner Text ## und zum Schluss noch eine Raute #. Die Farbe ist evtl aber auch ###ff9933|Text in orange.## Den Text muss keiner Verstehen ##
Hier die aktuelle RegEx Bedingung, die im Beispiel aber nicht funktioniert (ohne die Rauten im Text schon):
/([##]{2}(.+?)\|(.+?)[##]{2})/g
Hier die Seite, um das es zu prüfen: regexpal.com/
Ziel ist es, nur die beiden Color-Codes als Ergebnis zu bekommen.
Hier ein paar Hilfen zu den Regular Expressions: blog.weblogie.de/webentwicklung/merkblatt-regular-expressions/
Hier die PHP Doku zum Befehl, der verwendet wird: php.net/manual/en/function.preg-replace.php
Wer hat die Lösung? Er wird natürlich auch in der Release Note dankend erwähnt. Ruhm und Ehre winken!
Gruß
Frank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 298878
Url: https://administrator.de/forum/regular-expressions-fuer-unsere-color-tags-wer-kann-es-loesen-298878.html
Ausgedruckt am: 15.07.2025 um 00:07 Uhr
5 Kommentare
Neuester Kommentar

Hi Frank,
um eventuell nicht existierende Farben zusätzlich auszuschließen noch definierter
:
Gruß jodel32
p.s. Da gibt es noch einige andere Bugs, ich muss sie mal alle sammeln, sind doch einige die da zusammenkommen. Melde mich mal damit.
/#{2}([a-z]+|#[\da-f]{3,6})\|(.+?)#{2}/gi
/#{2}((AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGray|DarkGrey|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|Dar###ge|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkSlateGrey|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DimGrey|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gray|Grey|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGray|LightGrey|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSlateGrey|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|SlateGrey|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)|#[\da-f]{3,6})\|(.+?)#{2}/gi
p.s. Da gibt es noch einige andere Bugs, ich muss sie mal alle sammeln, sind doch einige die da zusammenkommen. Melde mich mal damit.
Moin,
naja, du musst nur ausschließen, dass davor Rauten kommen ;)
That's it.
Edit: Mal so nebenbei, ich bevorzuge regex101.com/ ;)
Gruß
Chris
naja, du musst nur ausschließen, dass davor Rauten kommen ;)
/[^#]*(#{2}([^#]+?)\|([^#]+?)#{2})[^#]*/g
That's it.
Edit: Mal so nebenbei, ich bevorzuge regex101.com/ ;)
Gruß
Chris
(! regexpal.de funktioniert bei mir nicht korrekt !)
Hi, Nabend,
ich habe auch was anzubieten:
Ich habe alle | im Text nummeriert und finde die folgenden Treffer: 1,4,11 und 12
Essen ist fertig, bis später
~Arano
Hi, Nabend,
ich habe auch was anzubieten:
/(##([^#|]+?)\|(.+?)##)/g
(oh, noch ein Bug !?)/(##([^#|]+?)\|(.+?)##)/g
Ich habe alle | im Text nummeriert und finde die folgenden Treffer: 1,4,11 und 12
Dieser ###12345|1Ungültig,## dffdgd##|2ölasdlkasöl|3ajsj##as##as#d ddf dfg###12345|4Ungültig,## aber . Jetzt kommt die Raute ####|5ölsdkf###sd##fd#sfd|6sdy7||8<asölkasd adplasd9||10a###a#s#as#d#afg#df#ggfd#d#fg#dfg#####dfg#d#fg
##dfg#dfg###dfgdfgdf#g#fd##warum auch immer. Nun noch einmal ein ##green|11grüner Text ist gütig ## und zum Schluss noch eine Raute #.###asdasd|12asdad###
MATCH 1
1. [8-28] `##12345|1Ungültig,##`
2. [10-15] `12345`
3. [16-26] `1Ungültig,`
MATCH 2
1. [75-95] `##12345|4Ungültig,##`
2. [77-82] `12345`
3. [83-93] `4Ungültig,`
MATCH 3
1. [294-328] `##green|11grüner Text ist gütig ##`
2. [296-301] `green`
3. [302-326] `11grüner Text ist gütig `
MATCH 4
1. [364-382] `##asdasd|12asdad##`
2. [366-372] `asdasd`
3. [373-380] `12asdad`
Essen ist fertig, bis später
~Arano