Rolf B: **fett** bedeutet fettiger Text, aber wie wird er farbig?

Beitrag lesen

Hallo Linuchs,

das sollte eine relativ einfach Regex sein:

\+\+(.*?)(?:\/(.*?))?\+(.+?)\+\+

oder, wenn Du die capturing-Gruppen benennen willst:

\+\+(?<fg>.*?)(?:\/(?<bg>.*?))?\+(?<text>.+?)\+\+

Die non-greedy Fragezeichen hinter .* und .+ kannst Du in PHP durch das Rexexp-Flag U ersetzen, in JacaScript scheint das nicht zu gehen. Wenn Du alle Vorkommen in einem Rutsch ersetzen willst, sollte auch noch das g-Flag dazu (global). Und wenn ein Zeilenumbruch in einer Farbgruppe erlaubt sein soll, auch noch das s Flag.

Getestet mit PHP und JavaScript Regex auf dieser Regex101 Testseite

Eine stumpfsinnige Ersetzung würde mit diesem Replacement-Ausdruck gehen:

<span style="color:$1;background-color:$2">$3</span>

aber dann gibt's keine Plausi und keine Bequemlichkeit bei Farbnamen 😉

Rolf

--
sumpsi - posui - clusi