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=""/> に置換
- 属性値をダブル・クォーテーションで囲む
といったことを実行する。
0 件のコメント:
コメントを投稿