<TABLE> zamiast <table>? Nie ma problemu!

poniedziałek, 16 lip 2007

Miałem ostatnio “przyjemność” pracować ze stroną napisaną w HTMLu z szalonych lat 90. Abstrahując od drobnych zmian, które trzeba było tam wprowadzić, bardzo raził mnie fakt, że wszystkie tagi napisany były dużymi literami. Jak temu zaradzić? Poniżej przedstawiam sposób, który nie wymaga niczego poza emacsem :)

  1. Ustawiamy zmienną case-replace na nil, ponieważ nie chcemy żeby emacs próbował zachować wielkość liter. W tym celu wywołujemy wklepujemy M-: (lub M-x eval-expression) a następnie wpisujemy: (setq case-replace nil)
  2. Teraz uruchamiamy replace-regexp (lub query-replace-regexp czyli C-M-%) i wpisujemy co następuje:
  • Jako wyrażenie do zastąpienia:
    <[^>]+>
  • Jako zamiennik: \,(downcase \&amp ;)

Gwoli wyjaśnienia - najpierw znajdujemy wszystko co znajduje się pomiędzy znakami <>, następnie zamieniamy nasze “trafienie” na to samo, tyle że małymi literami (”\,” pozwala wywołać funkcje LISPa).

Mam nadzieję, że komuś się to przyda, a przy okazji pokaże szerokie możliwości emacsa.

Jedna odpowiedź do “<TABLE> zamiast <table>? Nie ma problemu!”

  1. stańczyk Powiedział/a:

    abstrahując, nie abstrachując, abstrachuju

Napisz odpowiedź