Gracias de nuevo.
Yo pensaba que con
preg_match(), era suficiente, en tanto que el patrón que tu me pasaste me pareció que al empezar y terminar con el símbolo '|' (que yo lo estaba atribuyendo a un OR) ya empezaría a concatenar los resultados y que por eso yo no lo había logrado antes, pero ya vimos que no.
La preocupación que me quedaba con
preg_match_all() era esa, que al usar un
array multidimensional provoque una ralentización del script y baja de rendimiento pues en teoría los datos deberían poderse recopilar en un array simple... de ahí que lo haya posteado de nuevo para ver qué opinaba el personal y si era algo del lado del PHP que se estaba haciendo 'no del todo bien'.
En cuanto a la remodelación del patrón y la explicación de cada sección...
¡de lujo! 
así SI!!!!
Descuida, que mas veces me pasaré por la sección de RegExp (la específica suya)
Doy por solucionado el tema.