Buscando un poco más he encontrado una solución parcial usando las expresiones regulares.
Los párrafos era del estilo:
Código:
<p><span class="nada">Lorem ipsum dolor sit amet, consectetur adipiscing elit. <span class="cursiva">Nulla condimentum sapien id leo pellentesque</span> nec vehicula nisl porttitor. Proin nisi massa, sollicitudin sit amet interdum eget, egestas dignissim metus. Pellentesque metus orci, porta id mattis sed, rhoncus quis orci. Duis in magna sit amet lectus tempus adipiscing. Phasellus feugiat velit quis magna luctus fermentum. Pellentesque auctor faucibus ante quis mattis. Vivamus aliquam ipsum sit amet nisi pulvinar eget aliquet sapien rutrum. Nunc varius interdum enim, ut facilisis nisi dapibus eget. Aliquam purus enim, tempus id feugiat ac, varius a dui. Maecenas malesuada justo non nisl tincidunt sodales. Duis ultrices tincidunt scelerisque.</span></p>
<p><span class="nada"><span class="cursiva">Mauris congue, libero sed vehicula fermentum, purus neque vestibulum metus, at commodo purus lacus ut tortor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Integer mauris nibh, ultrices imperdiet sollicitudin ut, gravida nec felis. Pellentesque non libero quam. Nam a sem ac metus pretium posuere quis vitae libero. Mauris lacinia egestas arcu, sit amet blandit enim dapibus ut. Etiam sit amet justo nec est euismod faucibus. Suspendisse in justo sit amet nulla vulputate pellentesque. Quisque a nisi lectus. Nunc cursus ipsum et dui adipiscing rhoncus. Nulla at elementum mauris.</span></span></p>
<p><span class="nada"><span class="cursiva">Duis blandit scelerisque nisl, id porta nisi rutrum eget.</span> Fusce nec euismod sapien. Proin porttitor ante eu nibh interdum nec rutrum turpis iaculis. Suspendisse semper imperdiet fermentum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. <span class="cursiva">Fusce interdum metus quam, ut convallis metus.</span> Sed sem turpis, elementum a vulputate vel, egestas vel nulla. Suspendisse potenti. Aenean sollicitudin tempor nisl nec laoreet.</span></p>
<p><span class="nada">Nulla facilisi. Nullam et bibendum tortor. Suspendisse potenti. Curabitur porta condimentum arcu, sit amet interdum tortor mollis ut. Sed nec ante lectus. Pellentesque id magna tellus, at laoreet tortor. Vivamus mattis urna quis dui viverra vel convallis odio consectetur. Nam leo tortor, semper vitae vulputate quis, tempus tincidunt nisl. Vivamus sem nunc, ultricies eget placerat eu, laoreet sed eros. Donec tempus nulla eu nisi luctus rutrum. Sed non turpis sed leo fermentum imperdiet porta et turpis. Aenean viverra sapien id velit viverra luctus.</span></p>
<p><span class="nada">Morbi scelerisque sodales justo, a suscipit dui cursus et. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam sit amet placerat nisi. Sed lobortis, diam a consequat tincidunt, ante orci condimentum erat, vitae dapibus magna eros eu magna. Nullam et sodales diam. Donec id mi quam, ac scelerisque ipsum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc interdum risus in felis viverra congue. Vestibulum commodo lacinia tempor. Morbi et neque justo. Ut commodo justo vel mi semper in ultricies sem laoreet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam elit libero, varius ut interdum ac, dapibus nec odio. Nulla vitae erat id tortor elementum congue eget at tortor. Duis ut consequat leo.</span></p>
Después de hartarme a buscar editores y/o programas que hicieran lo que yo buscaba he descubierto que usando las expresiones regulares se puede hacer bastante trabajo, aunque no es perfecto y hay que revisar, pero que le vamos a hacer.
En concreto en la búsqueda he usado expresiones como:
Código:
<p><span class="cursiva">(.*)</span></p>
y
Código:
<span class="cursiva">(.*)</span>
Y el texto de reemplazo:
y
Por lo que he podido averiguar, "\1" almacena el texto variable de la expresión de búsqueda, en este caso el "(.*)". En fin, nunca se me ha dado bien el Regexp, pero está claro que tengo que estudiarlo un poco.
El caso es que he revisado bastantes trozos al azar y no parece haber errores (y si los hay serán muy pocos). El resto de los "<span ...>" y "</span>" los he borrado a lo bestia y parece que ha quedado bien.
De todas formas, seguiré mirando por si encuentro una cosa mejor.