gudn tach!
$text =~ s/{(.*?)<br>(.*?)}/{$1$2}/g;
Oder genauer: das haut nur hin, wenn in $text eine einzige Zeichenfolge der Art
{xyz <br> xyz}
auftaucht, sobald dort mehrere stehen klappt es nicht mehr.doch, sollte es.
noe, siehe andere antworten. in einigen faellen klappt es, in vielen aber nicht.
minimiere mal dein beispiel auf wenige zeilen, die das problem noch immer hervorrufen und poste dann diesen code.
noe, das passt hier nicht. aber die spezifikationen des OP sollten genauer sein. koennen z.b. wie Skeeve vermutete auch mehrere "<br>" innerhalb eines klammer-ausdruckes stehen? koennen evtl. leerzeichen in "foo<br>bar" fehlen (->"foobar", statt vielleicht besser(?) "foo bar")? naja, und solche genauigkeiten sollten halt vorher geklaert werden.
s/({[^}]*)<br>([^}]*})/$1$2/g;
sollte in den faellen, in denen nur max. ein "<br>" vorkommen kann, genuegen. voraussetzung ist z.b., dass die klammersetzung der {} nicht zu kompliziert ist.
prost
seth