He probado lo de añadir un nuevo caso | (OR) de la siguiente manera:
Código PHP:
Ver original$re = '/\{\{((infobox|[^{}]*|(?R))*)\}\}/is';
pero no funciona porque creo que la expresión [^{}]* ya selecciona cualquier cosas que no sean paréntesis (incluyendo dicha palabra).
También he probado con:
Código PHP:
Ver original$re = '/\{\{infobox(([^{}]*|(?R))*)\}\}/is';
$re = '/\{\{(?=infobox)(([^{}]*|(?R))*)\}\}/is';
La cuestión es que tengo que forzar que empiece por "{{infobox" que le siga cualquier cosa y termine con }} algo como: {{infobox subpatrón}}
subpatrón --> cualquier cosa incluso llaves anidadas...
{{infobox | () {{}} mas palabras}} --> OK
{{willy {{esto tambien}} wonka}} --> no empieza por {{infobox
{esto tambien} --> no tiene dos llaves
{{infobox {{lo que sea}} mas }} --> OK
Creo que es un matiz que no termino de ver...
Saludos!!
Saludos