Arnaud Martin | 30 Aug 14:20

Correction champ multi avec italique (IMPORTANT)

Salut,

Je viens d'uploader une modif sur l'extraction du champ multi. En  
effet, l'expression régulière déconnait si on avait de l'italique (ou  
du gras, ou des accolades en général) dans un <multi>. Par exemple:

<multi>
[fr]L'{Observer} est l'hebdomadaire attaché au {Guardian}.
[en]The {Observer} is the weekly attached to the {Guardian}.
</multi>

Ca ne fonctionnait absolument pas, parce que le regexp s'arrêtait à  
l'accolade. En français, ça affichait:
«L'»

L'expression régulière utilisée était:
while (preg_match("/^(.*?)[{\[]([a-z_]+)[}\]]/si", $bloc, $regs))

désormais c'est seulement:
while (preg_match("/^(.*?)[\[]([a-z_]+)[\]]/si", $bloc, $regs))

Mais je m'inquiète: cela signifie qu'il existe (ou existait) un cas  
où les champs multi pouvaient être codés:
<multi> Mon texte {en} My text</multi>
(avec des accolades au lieu des crochets)? Donc: est-ce que mon patch  
risque d'entraîner des problèmes de compatibilité?

A*

Gmane