Jaceno napisał(a):[...], mianowicie muszę w ten sposób wyedytować sporą ilość różnych dokumentów do tego pozbyć się pozostałości htmla np: </b> <b> zamienić na spację. [...]
Writer nieszczegónie się do tego nadaje. Ale same wyrażenia regularne jak najbardziej, więc także użycie formularza Znajdź i Zamień da radę, choć być może wielokrotnie.
Ja bym raczej nie wklejał tekstu od razu do Writera. Kod HTML jest zapisem tekstowym, zapisałbym go w pliku tekstowym i poddał obróbce wyrażeniami regularnymi, a wynik wczytał albo wkleił do Writera.
Taka obróbka mogłaby wykorzystywać program lub język radzący sobie z wyrażeniami tego typu. Klasyka: awk, perl, sed, ew. bardziej współczesny Python. Python jest dostępny w ramach Open/LibreOffice, da się też zastosować w makrze.
Bliżej użytkownika byłyby edytory z obsługą wyrażeń regularnych. Writer oczywiście, ale do nieformatowanych tekstów bardziej nadawałby się Notepad++.
Znaczniki xml-owe są w 3 rodzajach:
otwierający <x> albo <x a="p" c="q">
zamykający </x> (zawsze bez dodatkowych treści -- atrybutów)
pusty <x /> albo <x a="p" c="q" />
Wszystkie "pasują" do wyrażenia regularnego <[^>]*>
które opisuje frazy ograniczone nawiasami <...>, wewnątrz których nie ma symbolu >
Z zastrzeżeniem: będzie to działać OK, o ile cały znacznik znajduje się w pojedynczym wierszu. Bo np. znacznik
- Kod: Zaznacz cały Rozszerz widokZwiń widok
<p
id="a1"
class="summary"
>
jest legalny, ale rozciąga się na 4 wiersze i skanery wyrażeń regularnych (oprócz Perlowego) go nie obejmą, gdyż działają w obrębie wiersza (we Writerze: bloku akapitowego).
Natomiast elementy znakowania xml są w 2 rodzajach:
niepusty, postaci <x>bla bla bla</x> albo <x a="p" c="q">bla bla bla</x>
i pusty, składający się tylko z pustego znacznika jak wyżej.
Gdyby taki element mieścił się w jednym wierszu / akapicie, to (przy pewnych uproszczeniach) opisujący go wzorzec wyglądałby tak:
- Kod: Zaznacz cały Rozszerz widokZwiń widok
<([^ >]+)[^>]*>.*?</\1 *>
We Writerze nie da się go łatwo zastosować, jako że odwołanie do podwyrażenia, czyli \1, nie jest zaimplementowane we frazie "znajdź". Tym niemniej gdyby poszukiwać samych znaczników b, to wzorzec
- Kod: Zaznacz cały Rozszerz widokZwiń widok
<b[^>]*>.*?</b *>
da radę.
Więcej o wyrażeniach regularnych, np.
https://pl.wikipedia.org/wiki/Wyra%C5%BCenie_regularne. Zalecam pominięcie rozdziału dot. teorii.
Wyrażenia regularne + makro w Basicu dla Calca, patrz np.
https://forum.openoffice.org/en/forum/v ... 45&t=72048