HMV のアフィリエイト (in Linkshare) で、少し手間がかかるけど、個別リンクを作ることが出来ることは過去記事に書いた。
ここで、HMV 側が用意する HTML コードは、XHTML valid じゃない。つまり、XHTML なブログに HMV のコードを貼り付けると、場合によってはエラーになる。そこで、正常な XHTML に変換する Emacs Lisp コードを書いた。
コードは下記の通り。
;; ;; Linkshare ;; (autoload 'sgml-quote "sgml-mode") (defun linkshare-hmv-reformat-link () (interactive) (save-excursion (while (re-search-forward "\\(?:href\\|src\\)=\"" nil t) (let ((beg (point)) (end (search-forward "\""))) (sgml-quote beg end)))) (save-excursion (let ((case-fold-search nil)) (while (search-forward "IMG" nil t) (replace-match "img" t) (search-forward " >") (replace-match " alt=\"\"/>")))) (save-excursion (while (re-search-forward "=\\([01]\\) " nil t) (replace-match "=\"\\1\" "))))
HMV からコピーした HTML コードのあるバッファーで M-x linkshare-hmv-reformat-link とすると、
- href 属性・src 属性値に含まれるの & を & に置換
- <IMG ...> を <img ... alt=""/> に置換
- 属性値をダブル・クォーテーションで囲む
といったことを実行する。
No comments:
Post a Comment