PerlでXHTMLのテキスト内容だけを置換する

 まあ仕事でEPUBを作っていると恒常的にXHTMLに触ることにはなるのですが、検索で文章中の欧文の部分などを引っかけて修正する時にXHTMLのタグ部分も引っかかってしまって、これこのまま間違えてここも修正しちゃったらエラー直行だよなみたいなケースが時々あります。なのでテキスト部分だけを検索置換対象にできれば便利かなと思って作ってみました。

 XML::LibXMLでXHTMLをパースしてテキストノードだけ選別して置換処理をループで回してるだけです。置換用ファイルは別ファイルにPerlの置換式書いたヤツを読み込む感じで。

 Macのターミナルで

perl コードのファイル.pl 置換対象.xhtml 外部読み込み置換式.pl

 のような感じで実行すれば置換対象のxhtmlを置換して上書きします。

 外部置換用ファイルは以下のような感じ。

 いやあ長年作りたかったんですよこういうの。こないだやっとパーサーモジュールでDOM飼い慣らせたんで作れましたよ。うれしい。

(2017.10.20)

タグ: , ,

コメントをどうぞ

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。

最近のコメント