Scribble at 2023-01-13 13:07:06 Last modified: 2023-01-16 13:32:27

Google Plus のログを再公開するために古い HTML ファイルを引っ張り出したところ、ソーシャル・メディアへのリンクはテンプレートじゃなくてソースにハード・コーディングされているため、これをテンプレートの include 文に置換したい。そこで、ひさしぶりに xyzzy を起動してみたのだが、よく考えたら xyzzy って改行文字を含めて「ここ以降、改行していようといなかろうとマッチ」という条件で正規表現を使ったことがなくて、どうも書き方が分からない。

PHP の preg_match だと(ちなみに KaTeX を導入して括弧を書くと数式レンダリングのモードになるため、以前のように関数を表記するときにアーギュメントのプレースホルダとして ( ) を書けなくなった。これもこれで過去の落書きで表記している箇所の表示がおかしくなるので、KaTeX の定義の方を ^ 二つとかに変更しようと思う。僕は ( ^ ^ ) なんていうオタクというかジジイっぽい絵文字は使わないので、これが僕の文章に出てくることはない(引用すらバカっぽいのでしたくない)。

・・・ということで、定義している footer.html というテンプレートを更新して、preg_match() などと書いても KaTeX のレンダリングがスタートしないようにした。ただ、これまでに書いた記事や落書きで、こういうことを導入するためにフラグとしてこう書いているという実例を紹介している落書きや記事などで正しく表示できなくなる可能性はあろう。そのあたりの不整合は、もういまからではいつの落書きだったかも覚えてないし、今年中に見直すこととしよう。記事については、KaTeX を使って表記しているのは、まだ組合せ論の論説だけだったと思うから、あまり大きな影響はないはずである(もちろん、組合せ論の論説も () を一斉置換してアップロードしなおしてある)。

さて、xyzzy での正規表現に話を戻すと、「なんでもええから、この文字から後は全て消せ」という処理が分からない。また、オンラインでもシンプルに書く方法を記載している文書がない。ご承知のとおり、xyzzy の原作者である亀井氏はドキュメントの類をサポートすることは昔から拒絶していたので、xyzzy についてのドキュメントは利用者がブログなどに書いているものを読むしかない。xyzzy の本は一冊だけ出版されたし、もちろん僕も持っているのだが、もう蔵書の中から見つけ出すだけでも大変なので、それはしたくない。あらためて検索してみると、xyzzy に関わるページの多くは既に消失しているし、とにかくどの記事やページも場当たり的でメモ同然のものばかりで、とても調べる工数に見合う情報が手に入るとは思えない。

なので、こういう用途でも xyzzy はそろそろ手におえないソフトウェアとなりつつある。仕方ないが、PHP で処理するしかあるまい。そして、実際にさきほど PHP で簡単に終わった。いったん file() で全ての行を取り込んでから、リネームしたファイル・ストリームに対して foreach でループし、削除したいキーワードが出てきたらループを止めて、それ以降に置換したい文字を入れてストリームを閉じたらいいのだ。

あと、アーカイブを見ていると文章がおかしくなっていたり、Google Plus の本文データと引用文とかが混在していて意味不明になっている文章もあるので、やはり見直してから再公開したい。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook