Lo logré!!!

... Lo logré!!!

. Home run!!! Gooollll!!!
Me costó medio cojón pero al fin salió. En serio gente, qué difícil se me hizo entender cómo funcionaba. Miré
docenas de ejemplos, me grabé el manual de memoria y aún no lo lograba. Esta madrugada me levanté insistiendo de nuevo y a esta hora es que vengo acertando.
Dejo el código aquí para la posteridad

:
La función de los reemplazos quedó exactamente igual que al principio.
Código php:
Ver originalfunction sin_acentos( $texto ) {
'Á' => 'A1',
'É' => 'E1',
'Í' => 'I1',
'Ó' => 'O1',
'Ú' => 'U1',
'á' => 'a1',
'é' => 'e1',
'í' => 'i1',
'ó' => 'o1',
'ú' => 'u1',
'Ñ' => 'N1',
'ñ' => 'n1'
);
return(strtr($texto,$trad)); }
Creé una variable para la expresión regular, aunque creo que también funcionaría con datos estáticos:
La función para reemplazar el atajo por la etiqueta HTML. Aquí metí toda la etiqueta de cabo a rabo y le apliqué la función
sin_acentos() de una vez a la zona que me interesaba sustituir. Es decir,
lo que aprendí es que el argumento del preg_replace_callback debe estar limpio, y todo lo que se vaya a ejecutar se ejecuta afuera:
Código php:
Ver originalfunction carac_reemplazo($match) {
return '<span class="capitular letra-' . sin_acentos( $match[1] ) . '">' . $match[1] . '</span>';
}
Finalmente el preg_replace_callback:
Bueno así ha terminado este lío. Gracias de nuevo
pateketrueke por proporcionarme la orientación básica sin llegar a darme la papita pelada

.