<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>正規表現 on qwerty.work</title>
        <link>https://qwerty.work/tags/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE/</link>
        <description>Recent content in 正規表現 on qwerty.work</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-JP</language>
        <lastBuildDate>Sun, 25 Sep 2022 21:30:58 +0900</lastBuildDate><atom:link href="https://qwerty.work/tags/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>【正規表現】基本やサンプル・事例のメモ</title>
            <link>https://qwerty.work/post/2022/09/regular-expressions-sample/</link>
            <pubDate>Sun, 25 Sep 2022 21:30:58 +0900</pubDate>
            <guid>https://qwerty.work/post/2022/09/regular-expressions-sample/</guid>
            <description>&lt;p&gt;(空)&amp;rsquo;;&#xA;}&#xA;return $str;&#xA;};&#xA;?&amp;gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;正規表現&#34;&gt;正規表現&#xA;&lt;/h2&gt;&lt;p&gt;正規表現（せいきひょうげん）は英語で**「Regular expressions」**と書く。プログラミンで文字列のパターン検索や置換に使う。プログラミンだけではなく、文章などの整形に使われたりすることもある。プログラミングで&lt;code&gt;regex&lt;/code&gt;という文字が付く命令があれば、正規表現を使う何らかの処理と思えばよい。&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;h2 id=&#34;デリミタについて&#34;&gt;デリミタについて&#xA;&lt;/h2&gt;&lt;p&gt;正規表現の条件は&lt;code&gt;/〇〇〇/&lt;/code&gt;と、&lt;code&gt;/&lt;/code&gt;で両サイドを挟みます。プログミング言語によっては&lt;code&gt;＃〇〇〇＃&lt;/code&gt;と違う記号を使うことができます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;/https:\/\//&lt;/code&gt;といった場合、デリミタが&lt;code&gt;/&lt;/code&gt;で検索語内に&lt;code&gt;/&lt;/code&gt;があると、&lt;code&gt;\/&lt;/code&gt;でエスケープしなければなりませんが、&lt;code&gt;#&lt;/code&gt;がデリミタだと&lt;code&gt;#https://#&lt;/code&gt;とエスケープしなくて済みます。ただし、Javascriptではできないようです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;正規表現のサンプルや使用例&#34;&gt;正規表現のサンプルや使用例&#xA;&lt;/h2&gt;&lt;h3 id=&#34;簡単なやつ&#34;&gt;簡単なやつ&#xA;&lt;/h3&gt;&lt;h4 id=&#34;改行を削除&#34;&gt;改行を削除&#xA;&lt;/h4&gt;&lt;p&gt;HTMLのソースをインライン化したいときに使用。&lt;code&gt; &lt;/code&gt;の削除ではありません。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  正規表現&#xA;  &#xA;&#xA;&#xA;  対象文字列&#xA;  --&amp;gt;&#xA;  &#xA;&#xA;    ほげほげ&#xA;&#xA;    &#xA;&#xA;&#xA;&#xA;  置換語&#xA;  &#xA;&#xA;&#xA;  置換結果&#xA;  --&amp;gt;&#xA;  ほげほげ&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;タグとタグの間にある半角スペースを削除&#34;&gt;タグとタグの間にある半角スペースを削除&#xA;&lt;/h4&gt;&lt;p&gt;\s&lt;/p&gt;&#xA;&lt;p&gt;&amp;lsquo;;&#xA;$replacement[ &amp;rsquo;&amp;rsquo; ] = &amp;lsquo;&amp;gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  正規表現&#xA;  &#xA;&#xA;&#xA;  対象文字列&#xA;  &#xA;&#xA;&#xA;  置換語&#xA;  &#xA;&#xA;&#xA;  置換結果&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;文字だけを取り出す&#34;&gt;文字だけを取り出す&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  正規表現&#xA;  &#xA;&#xA;&#xA;  対象文字列&#xA;  &#xA;&#xA;&#xA;  置換語&#xA;  &#xA;&#xA;&#xA;  置換結果&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;数値だけを取り出す&#34;&gt;数値だけを取り出す&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;  正規表現&#xA;  &#xA;&#xA;&#xA;  対象文字列&#xA;  &#xA;&#xA;&#xA;  置換語&#xA;  &#xA;&#xA;&#xA;  置換結果&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;</description>
        </item><item>
            <title>【DreamWeaver】正規表現でスペースや改行や余計なClassを一括削除する方法</title>
            <link>https://qwerty.work/post/2021/09/dreamweaver-regular-expressions/</link>
            <pubDate>Thu, 09 Sep 2021 16:47:18 +0900</pubDate>
            <guid>https://qwerty.work/post/2021/09/dreamweaver-regular-expressions/</guid>
            <description>&lt;p&gt;HTMLの参考ソースをコピーしてきたときに、余計なコードをまとめて削除したいときがありました。少量であれば、手動で削除するのですが、膨大にある場合はチマチマやってられません。そこで、正規表現を使い、ズバッと一括で置き換えしたいと思ったので書式をメモ。&lt;/p&gt;&#xA;&lt;h2 id=&#34;検索置換のやり方&#34;&gt;検索/置換のやり方&#xA;&lt;/h2&gt;&lt;p&gt;DreamWeaverで正規表現を使った置換をするには、メニューの**[検索]-[現在の文書内で置換]&lt;strong&gt;を選択するか、またはCtrl+Hを押して、&lt;/strong&gt;[正規表現を使用]**にチェックを入れて行います。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;DreamWeaverで正規表現を使って検索・置換&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;781px&#34; data-flex-grow=&#34;325&#34; height=&#34;215&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/09/dreamweaver-regular-expressions/images/No-00.jpg&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;正規表現書式例&#34;&gt;正規表現書式例&#xA;&lt;/h2&gt;&lt;h4 id=&#34;改行を削除&#34;&gt;改行を削除&#xA;&lt;/h4&gt;&lt;p&gt;HTMLのソースをインライン化したいときに使えます。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  検索&#xA;  \r\n&#xA;&#xA;&#xA;  置換&#xA;  （空）&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;タグとタグの間にあるスペースを削除&#34;&gt;タグとタグの間にあるスペースを削除&#xA;&lt;/h4&gt;&lt;p&gt;上記と同じく、HTMLのソースをインライン化したいときに使えます。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  検索&#xA;  &amp;gt;\s+&#xA;&#xA;&#xA;  置換&#xA;  &amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;タグ内にあるclassなどをまとめて削除&#34;&gt;タグ内にあるclass=&amp;quot;～&amp;ldquo;などをまとめて削除&#xA;&lt;/h4&gt;&lt;p&gt;（例）&lt;code&gt;を&lt;/code&gt;にする。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  検索&#xA;  &#xA;&#xA;&#xA;  置換&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;その他参考ページ&#34;&gt;その他参考ページ&#xA;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;http://www.ofuta.me/dreamweaver/157&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/http://www.ofuta.me/dreamweaver/157&#34; alt=&#34;http://www.ofuta.me/dreamweaver/157&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;http://www.ofuta.me/dreamweaver/157&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;http://www.ofuta.me/dreamweaver/157&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://web-diy.jp/2016/09/160919_01/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://web-diy.jp/2016/09/160919_01/&#34; alt=&#34;https://web-diy.jp/2016/09/160919_01/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://web-diy.jp/2016/09/160919_01/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://web-diy.jp/2016/09/160919_01/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;オンラインで半角全角に変換できるページ&#34;&gt;オンラインで半角/全角に変換できるページ&#xA;&lt;/h2&gt;&lt;p&gt;正規表現で半角文字や全角文字を検索できても、半角→全角、ひらがな→カタカナの変換がDreamWeaverで可能なのか？不可能なのか？わかりませんが、オンラインで相互変換できるページがあったのでメモ。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://so-zou.jp/web-app/text/fullwidth-halfwidth/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://so-zou.jp/web-app/text/fullwidth-halfwidth/&#34; alt=&#34;https://so-zou.jp/web-app/text/fullwidth-halfwidth/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://so-zou.jp/web-app/text/fullwidth-halfwidth/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://so-zou.jp/web-app/text/fullwidth-halfwidth/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;http://charset.7jp.net/chgchar.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/http://charset.7jp.net/chgchar.html&#34; alt=&#34;http://charset.7jp.net/chgchar.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;http://charset.7jp.net/chgchar.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;http://charset.7jp.net/chgchar.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.webtoolss.com/henkan.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.webtoolss.com/henkan.html&#34; alt=&#34;https://www.webtoolss.com/henkan.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.webtoolss.com/henkan.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.webtoolss.com/henkan.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item><item>
            <title>正規表現でMovableType（MT）の余計な改行と行頭のスペースを消す</title>
            <link>https://qwerty.work/post/2018/01/movabletype-regex_replace-regular-expression/</link>
            <pubDate>Sun, 28 Jan 2018 16:11:41 +0900</pubDate>
            <guid>https://qwerty.work/post/2018/01/movabletype-regex_replace-regular-expression/</guid>
            <description>&lt;p&gt;MTによるページ構築時にどうしてもMTタグがあった部分に無駄な空白や改行が出来てしまいます。&#xA;それを正規表現を使って無駄な空白と改行を削除します。削除というより&lt;code&gt;regex_replace&lt;/code&gt;で**「何も無し」**に置き換えます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;テンプレートページ全部を対象にする場合&#34;&gt;テンプレート（ページ）全部を対象にする場合&#xA;&lt;/h3&gt;&lt;p&gt;最初と最後の行に``を入れてテンプレート全体を囲います。余計な改行と行頭のスペースがすべて削除されたページが再構築時に出力されます。当たり前ですがPHPなどでインクルードされた部分には反映されません。MTのインクルードモジュールには反映されているみたいです。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;mt:For&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/^[\ \t\r\n]+/mg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;.（テンプレート内容）&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/mt:For&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;の代わりに&lt;/code&gt;または``でも使えます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;インクルードさせるモジュール内を対象にする場合&#34;&gt;インクルードさせるモジュール内を対象にする場合&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Include module=&amp;#34;sidebar&amp;#34; regex_replace=&amp;#34;/^[\ \t\r\n]+/mg&amp;#34;,&amp;#34;&amp;#34;$&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;keywordに含まれた半角スペースを削除する例&#34;&gt;Keywordに含まれた半角スペースを削除する例&#xA;&lt;/h4&gt;&lt;p&gt;カンマの前後にある半角スペースを削除する例&#xA;ブログを投稿する際、「キーワード」欄に&lt;code&gt;,&lt;/code&gt;（カンマ）の前後にうっかり半角スペースを含めてしまうことがあります。そんなときに使用する例。&lt;code&gt;&amp;quot;Movable Type, 正規表現 , 置換&amp;quot;&lt;/code&gt;→&lt;code&gt;&amp;quot;Movable Type,正規表現,置換&amp;quot;&lt;/code&gt;というように、&lt;strong&gt;カンマで区切られた文字列の前後にある半角スペースだけ削除&lt;/strong&gt;します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;meta&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;content=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$mt:EntryKeywords trim=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;1&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/,\s/mg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;,&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/\s,/mg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;,&amp;#34;$&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&amp;#34;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;条件を&lt;code&gt;|&lt;/code&gt;で区切ったり、一発で置き換え方法があるかとは思いますが、今のところ分からないのでパス。&lt;/p&gt;&#xA;&lt;p&gt;キーワード内にあるすべての半角スペースを置換える場の例。&#xA;&lt;code&gt;&amp;quot;Movable Type, 正規 表現 , 置 換&amp;quot;&lt;/code&gt;→&lt;code&gt;&amp;quot;MovableType,正規表現,置換&amp;quot;&lt;/code&gt;のように、&lt;strong&gt;全ての半角スペースを削除&lt;/strong&gt;します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;meta&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;content=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$mt:EntryKeywords trim=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;1&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/\s+/mg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;&amp;#34;$&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&amp;#34;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;空白文字のを削除する正規表現の方法は以下のページが参考になりました。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.nishishi.com/javascript-tips/trim-space-chars.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.nishishi.com/javascript-tips/trim-space-chars.html&#34; alt=&#34;https://www.nishishi.com/javascript-tips/trim-space-chars.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.nishishi.com/javascript-tips/trim-space-chars.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.nishishi.com/javascript-tips/trim-space-chars.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h3 id=&#34;上記の正規表現の意味について&#34;&gt;上記の正規表現の意味について&#xA;&lt;/h3&gt;&lt;p&gt;先頭行にある半角スペース、タブ、改行のいずれかを繰り返し消すと意味になっています。それぞれの記号の意味は以下の通りです。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  正規表現&#xA;  意味&#xA;&#xA;&#xA;&#xA;&#xA;  ^&#xA;  行頭&#xA;&#xA;&#xA;  \+半角スペース&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;\s&#xA;半角スペース&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;  \t&#xA;  タブ&#xA;&#xA;&#xA;  \r&#xA;  キャリッジ リターン&#xA;&#xA;&#xA;  \n&#xA;  改行&#xA;&#xA;&#xA;  [　]&#xA;  囲った部分のいずれか&#xA;&#xA;&#xA;  /　/mg&#xA;  複数行対象に繰り返し&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h4 id=&#34;正規表現の参考ページ&#34;&gt;正規表現の参考ページ&#xA;&lt;/h4&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.megasoft.co.jp/mifes/seiki/meta.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.megasoft.co.jp/mifes/seiki/meta.html&#34; alt=&#34;https://www.megasoft.co.jp/mifes/seiki/meta.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.megasoft.co.jp/mifes/seiki/meta.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.megasoft.co.jp/mifes/seiki/meta.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h4 id=&#34;修飾子modifierについて&#34;&gt;修飾子（modifier）について&#xA;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;/～/mg&lt;/code&gt;の最後にある&lt;code&gt;m&lt;/code&gt;とか&lt;code&gt;g&lt;/code&gt;は&lt;strong&gt;修飾子（modifier）&lt;strong&gt;と呼ばれるものらしいです。僕もよくわかっていないのですが、よく使う&lt;code&gt;//ｇ&lt;/code&gt;と&lt;code&gt;//mg&lt;/code&gt;の違いがよくわかりませんが、どうやら&lt;/strong&gt;Perl&lt;/strong&gt;の正規表現で使われるものらしいです。ちなみに、&lt;code&gt;m&lt;/code&gt;は**「文字列を複数行として扱う」&lt;strong&gt;で、&lt;code&gt;g&lt;/code&gt;は&lt;/strong&gt;「グローバルなマッチング」**？を意味しているようです。以下のページが参考になります。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.javadrive.jp/perl/regex/modifier/index1.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.javadrive.jp/perl/regex/modifier/index1.html&#34; alt=&#34;https://www.javadrive.jp/perl/regex/modifier/index1.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.javadrive.jp/perl/regex/modifier/index1.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.javadrive.jp/perl/regex/modifier/index1.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://perldoc.jp/docs/perl/5.14.1/perlre.pod&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://perldoc.jp/docs/perl/5.14.1/perlre.pod&#34; alt=&#34;https://perldoc.jp/docs/perl/5.14.1/perlre.pod&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://perldoc.jp/docs/perl/5.14.1/perlre.pod&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://perldoc.jp/docs/perl/5.14.1/perlre.pod&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;i&lt;/code&gt;の**「大文字小文字を区別しないパターンマッチング」**はどこかで役に立ちそうです。&lt;/p&gt;&#xA;&lt;h3 id=&#34;その他参考になるページ&#34;&gt;その他参考になるページ&#xA;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://every-rating.com/mt/movabletype-regex-replace.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://every-rating.com/mt/movabletype-regex-replace.html&#34; alt=&#34;https://every-rating.com/mt/movabletype-regex-replace.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://every-rating.com/mt/movabletype-regex-replace.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://every-rating.com/mt/movabletype-regex-replace.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://hacknote.jp/archives/2969/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://hacknote.jp/archives/2969/&#34; alt=&#34;https://hacknote.jp/archives/2969/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://hacknote.jp/archives/2969/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://hacknote.jp/archives/2969/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h3 id=&#34;インクルードで読み込んだテンプレートの改行のみ削除なら&#34;&gt;インクルードで読み込んだテンプレートの改行のみ削除なら&#xA;&lt;/h3&gt;&lt;h4 id=&#34;mtタグに一言追加で簡単に改行を削除&#34;&gt;MTタグに一言追加で簡単に改行を削除&#xA;&lt;/h4&gt;&lt;p&gt;例えばファーストビューで読み込まれるのスタイルシートをインラインで表示したいときなど、テンプレートの出力から改行だけを削除する場合は以下のMTのコードを追加すれば簡単です。スタイルシートに限らず、HTMLを出力する際にも使えます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;strip_linefeeds=&amp;#34;1&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;使用例&#34;&gt;使用例&#xA;&lt;/h4&gt;&lt;p&gt;例えばインデックステンプレートのスタイルシート（styles.css）をインライン化したいときはこんな感じです。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;style&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Include identifier=&amp;#34;stylesheet&amp;#34; strip_linefeeds=&amp;#34;1&amp;#34;$&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;regex_replaceと併用した例&#34;&gt;regex_replaceと併用した例&#xA;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;regex_replace&lt;/code&gt;を併用して更にCSSをギュッと縮めるとしたらこんな感じでできます。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;行頭の半角スペース・改行・タブの削除&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2つ以上の半角スペースの削除&lt;/li&gt;&#xA;&lt;li&gt;/&lt;em&gt;～&lt;/em&gt;/のコメントの削除&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;, &amp;ldquo;（カンマと後ろの半角スペース）を&amp;rdquo;,&amp;quot;（カンマのみ）にする&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;: &amp;ldquo;（コロンと後ろの半角スペース）を&amp;rdquo;:&amp;quot;（コロンのみ）にする&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;]]&amp;gt;&#xA;もっとスマートな書き方があるのかもしれませんが、とりあえずこれでも理想通りにできました。&lt;/p&gt;&#xA;&lt;h4 id=&#34;参考ページ&#34;&gt;参考ページ&#xA;&lt;/h4&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://movabletype.net/dict/global-17/strip-linefeeds.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://movabletype.net/dict/global-17/strip-linefeeds.html&#34; alt=&#34;https://movabletype.net/dict/global-17/strip-linefeeds.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://movabletype.net/dict/global-17/strip-linefeeds.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://movabletype.net/dict/global-17/strip-linefeeds.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item><item>
            <title>MovableTypeのregex_replaceでシングルクォーテーションの置換えをするとエラーが出るとき</title>
            <link>https://qwerty.work/post/2017/05/movabletype-regex_replace/</link>
            <pubDate>Thu, 11 May 2017 22:21:55 +0900</pubDate>
            <guid>https://qwerty.work/post/2017/05/movabletype-regex_replace/</guid>
            <description>&lt;p&gt;MovableTypeでAMP対応のページを書き出すためのテンプレートができても&lt;strong&gt;Google Search Console&lt;/strong&gt;の&lt;strong&gt;Accelerated Mobile Pages&lt;/strong&gt;で致命的なエラーや警告が次々出てきてHTMLのソースを修正しなければならない部分がたくさん出てきました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;border=&amp;ldquo;0&amp;rdquo;&lt;strong&gt;や&lt;/strong&gt;target=&amp;quot;_blank&amp;quot;&lt;strong&gt;とか&lt;/strong&gt;style=&amp;quot;&lt;/strong&gt;&amp;quot;**を使ったらダメとか&amp;hellip;。&lt;/p&gt;&#xA;&lt;p&gt;これらと一つ一つを正規表現で置換をするMT関数の&lt;a class=&#34;link&#34; href=&#34;https://www.movabletype.jp/documentation/appendices/modifiers/regex_replace.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;regex_replace&lt;/a&gt;を使って不要な要素を削除することにしました。&lt;/p&gt;&#xA;&lt;p&gt;ただ、自分は正規表現が苦手でなかなか思った通りの置換や不要な文字列の削除ができませんでした。しかし、なんとか解決できたので参考になった正規表現のサンプルのページやソースをメモ。&lt;/p&gt;&#xA;&lt;h3 id=&#34;正規表現による置換の参考&#34;&gt;正規表現による置換の参考&#xA;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://nelog.jp/wordpress-content-to-amp&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://nelog.jp/wordpress-content-to-amp&#34; alt=&#34;https://nelog.jp/wordpress-content-to-amp&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://nelog.jp/wordpress-content-to-amp&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://nelog.jp/wordpress-content-to-amp&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;上記のページはWordPress向けにPHPで書かれておりますが、わかりやすかったです。&lt;/p&gt;&#xA;&lt;h3 id=&#34;シングルクォーテーションでエラー&#34;&gt;シングルクォーテーションでエラー&#xA;&lt;/h3&gt;&lt;p&gt;ここまではよかったのですが、シングルクォーテーション（&amp;rsquo;）でつまずきました。&lt;/p&gt;&#xA;&lt;p&gt;例えば、&lt;strong&gt;border&lt;/strong&gt;を消そうとしたとき、**border=&amp;ldquo;0&amp;rdquo;&lt;strong&gt;や&lt;/strong&gt;border=&amp;lsquo;0&amp;rsquo;**のように0をダブルクォーテーションで囲ってある場合と、シングルクォーテーションで囲ってある場合があります。正規表現の検索対象にシングルクォーテーション（&amp;rsquo;）が含まれていると、DreamWeaverや正規表現の使えるテキストエディタではちゃんと置換ができるのに、全く同じ正規表現をMovableTypeのテンプレートに使うとエラーが出てうまくいきませんでした。ダブルクォーテーション（&amp;quot;）だけだと問題なく置換できました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;エラーが出たソース&#34;&gt;エラーが出たソース&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Var name=&amp;#39;regex_0&amp;#39; value=&amp;#39;/( border| target| style| onclick)=[&amp;#34;&amp;#39;](.*?)[&amp;#34;&amp;#39;]/g&amp;#39;$&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Var name=&amp;#39;regex_1&amp;#39; value=&amp;#39;&amp;#39;$&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;MTUnless&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;$regex_0&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;$&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;regex_1&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:EntryBody&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:EntryMore&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;MTUnless&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;[&amp;quot;&amp;rsquo;]&lt;strong&gt;のように****の&lt;/strong&gt;value&lt;/strong&gt;の値にシングルクォーテーション（&amp;rsquo;）を含まれているとエラーが出ます。シングルクォーテーション（&amp;rsquo;）に¥マークを付けて**¥&amp;rsquo;**とエスケープしてもダメでした。&lt;/p&gt;&#xA;&lt;h3 id=&#34;原因は変数の使い方&#34;&gt;原因は変数の使い方&#xA;&lt;/h3&gt;&lt;p&gt;原因はMTのテンプレート内で使う変数をセットする書き方（）が悪かったようで、以下のページ内にもあるように**～**を使って変数に正規表現の検索対象を入れて使うと解決できました。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;http://www.skyarc.co.jp/engineerblog/entry/regex_replace_1.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/http://www.skyarc.co.jp/engineerblog/entry/regex_replace_1.html&#34; alt=&#34;http://www.skyarc.co.jp/engineerblog/entry/regex_replace_1.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;http://www.skyarc.co.jp/engineerblog/entry/regex_replace_1.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;http://www.skyarc.co.jp/engineerblog/entry/regex_replace_1.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;ダブルクォーテーション（&amp;quot;）は特に問題ないのですが、シングルクォーテーション（&amp;rsquo;）は注意が必要です。&lt;/p&gt;&#xA;&lt;h3 id=&#34;うまくいったソース&#34;&gt;うまくいったソース&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;MTSetVarBlock&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;regex_0&amp;#34;&lt;/span&gt;&amp;gt;/( border| target| style| onclick)=[&amp;#34;&amp;#39;](.*?)[&amp;#34;&amp;#39;]/g&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;MTSetVarBlock&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;MTSetVarBlock&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;regex_1&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;MTSetVarBlock&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;MTUnless&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;$regex_0&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;$&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;regex_1&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:EntryBody&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:EntryMore&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;MTUnless&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これで、border=&amp;quot;&lt;strong&gt;&amp;quot;、target=&amp;quot;&lt;/strong&gt;&amp;quot;、style=&amp;rsquo;&lt;strong&gt;&amp;rsquo;、 onclick=&amp;rsquo;&lt;/strong&gt;&amp;lsquo;など、ダブルクォーテーションとシングルクォーテーションのどちらで囲ってあっても全部削除できます。&lt;/p&gt;&#xA;&lt;h3 id=&#34;その他参考ページ&#34;&gt;その他参考ページ&#xA;&lt;/h3&gt;</description>
        </item><item>
            <title>MovableTypeでAMPページ用にiframeをamp-iframeに置き換えて書き出す</title>
            <link>https://qwerty.work/post/2017/05/movabletype-iframe-amp-iframe/</link>
            <pubDate>Tue, 09 May 2017 19:42:31 +0900</pubDate>
            <guid>https://qwerty.work/post/2017/05/movabletype-iframe-amp-iframe/</guid>
            <description>&lt;p&gt;MovableTypeのブログをAMP対応にするため、&lt;strong&gt;AmpConvert&lt;/strong&gt;というプラグインを入れています。You-Tube埋め込み用の&lt;strong&gt;iframe&lt;/strong&gt;タグは&lt;strong&gt;amp-youtube&lt;/strong&gt;に変換してくれますが。それ以外の&lt;strong&gt;iframe&lt;/strong&gt;タグは&lt;strong&gt;amp-frame&lt;/strong&gt;にしてくれませんでした。&lt;/p&gt;&#xA;&lt;p&gt;そこでテンプレート側で正規表現で置き換える方法で対応したのでメモ。&lt;/p&gt;&#xA;&lt;h3 id=&#34;例えばgoogle-maps&#34;&gt;例えばGoogle Maps&#xA;&lt;/h3&gt;&lt;p&gt;例えばGoogleマップの地図をページを埋め込むためのタグが以下だったとします。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;iframe&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.google.com/maps/embed?mid=0123456789&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;600&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;450&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;frameborder&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;style&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;border:0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;allowfullscreen&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;iframe&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このを以下のようにしたいのです。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;amp-iframe&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;layout&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;responsive&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sandbox&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;allow-scripts allow-same-origin allow-popups&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://www.google.com/maps/d/embed?mid=mid=0123456789&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;640&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;480&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;amp-iframe&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;amp用テンプレートのソース&#34;&gt;AMP用テンプレートのソース&#xA;&lt;/h3&gt;&lt;p&gt;MovableTypeのAMP用に作ったテンプレートの本文の部分を以下のようにしました。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:AmpConvert&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;fix_img_size&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;base_url&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://qwerty.work&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Var name=&amp;#39;regex[0]&amp;#39; value=&amp;#39;/&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;iframe&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;(.*?)&amp;lt;\/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;iframe&lt;/span&gt;&amp;gt;/g&amp;#39;$&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Var name=&amp;#39;regex[1]&amp;#39; value=&amp;#39;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;amp-iframe&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;layout&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;responsive&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sandbox&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;allow-scripts allow-same-origin allow-popups&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;amp-iframe&lt;/span&gt;&amp;gt;&amp;#39;$&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:For&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;$regex&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:EntryBody&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;mt:EntryMore&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;mt:For&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;mt:AmpConvert&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以下が正規表現でiframeをamp-iframeに置換前と置換後を指定している部分です。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Var name=&amp;#39;regex[0]&amp;#39; value=&amp;#39;/&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;iframe&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;(.*?)&amp;lt;\/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;iframe&lt;/span&gt;&amp;gt;/g&amp;#39;$&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:Var name=&amp;#39;regex[1]&amp;#39; value=&amp;#39;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;amp-iframe&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;layout&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;responsive&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sandbox&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;allow-scripts allow-same-origin allow-popups&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;amp-iframe&lt;/span&gt;&amp;gt;&amp;#39;$&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Googleマップの場合、amp-iframeに置き換えるだけなく、**sandbox=&amp;ldquo;allow-scripts allow-same-origin allow-popups&amp;rdquo;**がないとAMPページで地図が表示されませんでした。&lt;/p&gt;&#xA;&lt;h4 id=&#34;sandboxについては以下参考&#34;&gt;sandboxについては以下参考&#xA;&lt;/h4&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ampbyexample.com/components/amp-iframe/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://ampbyexample.com/components/amp-iframe/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://syncer.jp/Web/AMP/Component/amp-iframe/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://syncer.jp/Web/AMP/Component/amp-iframe/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item><item>
            <title>改ざんで挿入されたPHPコードをDreamWeaverと正規表現で削除</title>
            <link>https://qwerty.work/post/2017/03/php-falsification-dreamweaver/</link>
            <pubDate>Sun, 05 Mar 2017 18:43:58 +0900</pubDate>
            <guid>https://qwerty.work/post/2017/03/php-falsification-dreamweaver/</guid>
            <description>&lt;p&gt;ホームページのメンテをしていたら見覚えのないPHPのコードを発見。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;676px&#34; data-flex-grow=&#34;281&#34; height=&#34;213&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2017/03/php-falsification-dreamweaver/images/No-02a.jpg&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;$wp_salt,$wp_addfilter,$wp_salt&lt;/strong&gt;と**$wp_&lt;strong&gt;が付く変数からしてWordPress絡みで改ざんされたっぽいです。一体どうやって改ざんするのかスゴイなと感心しながら、DreamWeaverで&lt;/strong&gt; $wp_addfilter = create_function( **を検索してみました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;642px&#34; data-flex-grow=&#34;267&#34; height=&#34;261&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2017/03/php-falsification-dreamweaver/images/No-09.jpg&#34; width=&#34;699&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;するとWordPressとは関係のない&lt;strong&gt;約130個&lt;/strong&gt;のPHPファイルがヒットしました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;768px&#34; data-flex-grow=&#34;320&#34; height=&#34;240&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2017/03/php-falsification-dreamweaver/images/No-11.jpg&#34; width=&#34;768&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;WordPressはたまにアップデートをするくらいで設置してからほとんど使うことはなく放置状態で、挿入されたコードの目的もよくわかりませんが、放置する訳にはいかないので削除することにしました。約130ファイルを手作業で削除することもできますが面倒なので、正規表現で削除することにしました。&lt;/p&gt;&#xA;&lt;p&gt;ところが正規表現が超苦手で自力で条件を書くことができないのでヒントが無いか検索して以下のコードにたどり着いたのでメモ。たどり着くのに時間がかかったので手作業で削除したほうが早かったかもしれません&amp;hellip;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;検索条件正規表現&#34;&gt;検索条件（正規表現）&#xA;&lt;/h3&gt;&lt;p&gt;以下の**&amp;quot;$md5 =** &amp;ldquo;と&lt;strong&gt;数回ある改行&lt;/strong&gt;を含む一番最初の****という条件で改ざんコードを削除できました。&lt;/p&gt;&#xA;&lt;h4 id=&#34;うまくいった検索条件&#34;&gt;うまくいった検索条件&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;\?php\r\n\$md5 \= \&amp;#34;(.*\r\n){0,10000}.*?\&amp;#39;\);\r\n\?&amp;gt;\r\n&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;もっと効率のいい条件があると思いますが、自分にはこの条件を作るのが精いっぱいで、これ以上の説明もうまくできません。&lt;/p&gt;&#xA;&lt;h4 id=&#34;もともと参考にした条件&#34;&gt;もともと参考にした条件&#xA;&lt;/h4&gt;&lt;p&gt;いろいろ検索して拾ってたき正規表現を使った検索条件です。これは複数回の改行を含むを全部検索対象にするものです。これを元に上記に変更しました。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;\?php(.*\r\n){0,10000}.*?\?&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;検索および置換の実行&#34;&gt;検索および置換の実行&#xA;&lt;/h3&gt;&lt;p&gt;**「正規表現を使用」&lt;strong&gt;にチェックを入れて&lt;/strong&gt;「すべて置換」**を押します。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;642px&#34; data-flex-grow=&#34;267&#34; height=&#34;261&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2017/03/php-falsification-dreamweaver/images/No-06.jpg&#34; width=&#34;699&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;実行した結果、以下のように約130ファイルから改ざんコードをスッキリ削除できました。&lt;/p&gt;&#xA;&lt;h4 id=&#34;置き換え前&#34;&gt;置き換え前&#xA;&lt;/h4&gt;&lt;p&gt;改ざんされて先頭行にPHPのコードが挿入されたもの。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;425px&#34; data-flex-grow=&#34;177&#34; height=&#34;451&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2017/03/php-falsification-dreamweaver/images/No-02.jpg&#34; width=&#34;800&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;置き換え後&#34;&gt;置き換え後&#xA;&lt;/h4&gt;&lt;p&gt;挿入されていたコードをすっきり削除できました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;857px&#34; data-flex-grow=&#34;357&#34; height=&#34;183&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2017/03/php-falsification-dreamweaver/images/No-04.jpg&#34; width=&#34;654&#34;&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>投稿記事内の最初の画像をアクセスランキングに表示-MovableType</title>
            <link>https://qwerty.work/post/2014/05/-movabletype/</link>
            <pubDate>Thu, 01 May 2014 09:28:29 +0900</pubDate>
            <guid>https://qwerty.work/post/2014/05/-movabletype/</guid>
            <description>&lt;p&gt;投稿記事内の画像を使って、アクセスランキングにサムネイル画像を表示するために&lt;a class=&#34;link&#34; href=&#34;http://qwerty.work/blog/2014/04/url-movabletype-regex-replace.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ムーバブルタイプでアクセスランク順に人気記事リストを表示する方法&lt;/a&gt;とその他のサンプルのソースをかき集めてどうにかできたのでメモ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;320px&#34; data-flex-grow=&#34;133&#34; height=&#34;375&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2014/05/-movabletype/images/IMG_2784.png&#34; width=&#34;500&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;MTに画像を登録していればもっと簡単にできるようなのですが、僕はムーバブルタイプで画像を使うとき、IMGタグを直接書いています。どうもMTのアイテムとして画像を登録するやり方が苦手なんです。画像の遅延表示やLightboxとか使うのに、あとでソースを修正することが多く、最初から手打ち登録するほうが気分的に安心なんです。こんな手間をかけなくてもプラグインとかありそうですが&amp;hellip;。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTIf&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;tag=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;BlogEntryCount&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;MTEntries&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sort_by=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;accessed_count&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sort_order=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;descend&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;limit=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;5&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;mt:EntriesHeader&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;div&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;widget-recent-entries widget-archives widget&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;h3&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;widget-header&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;アクセスランキング&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/h3&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;div&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;widget-content&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ul&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;id=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;access-lanking&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/mt:EntriesHeader&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;          &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$mt:setvar name=&amp;#34;rank&amp;#34; value=&amp;#34;1&amp;#34; op=&amp;#34;++&amp;#34;$&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTSetVarBlock&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GetImageURL&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTEntryBody&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&amp;lt;[^i].*?&amp;gt;|&amp;lt;i[^m]*?&amp;gt;|&amp;lt;iframe.*?&amp;gt;|&amp;lt;input.*?&amp;gt;|&amp;lt;ins.*?&amp;gt;|&amp;lt;isindex.*?&amp;gt;|\s/g&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/(.*?src=&amp;#34;)(.*?)(&amp;#34;.*)/g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#39;$2&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/^[^\.\/h].*/g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#39;none&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/MTSetVarBlock&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;              &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;li&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTIf&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GetImageURL&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;like=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;none&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;                    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;a&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;href=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$MTEntryPermalink$&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;img&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$mt:SupportDirectoryURL with_domain=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;1&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;encode_html=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;theme_static/rainier/img/siteicon-sample.png&amp;#34; width=&amp;#34;60&amp;#34; height=&amp;#34;60&amp;#34; alt=&amp;#34;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$MTEntryTitle$&amp;gt;&amp;#34; /&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/a&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTElse&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;                    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;a&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;href=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$MTEntryPermalink$&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;img&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$MTGetVar name=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;GetImageURL&amp;#34;$&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&amp;#34; width=&amp;#34;60&amp;#34; height=&amp;#34;60&amp;#34; alt=&amp;#34;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$MTEntryTitle$&amp;gt;&amp;#34; /&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/a&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/MTIf&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;a&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;href=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$MTEntryPermalink$&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;p&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;entry-title&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$MTEntryTitle trim_to=&amp;#34;43+...&amp;#34;$&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/p&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;              &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/li&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;mt:EntriesFooter&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/ul&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/div&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/div&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/mt:EntriesFooter&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;/MTEntries&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;/MTIf&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;（ランキング表示に&lt;a class=&#34;link&#34; href=&#34;http://www.homepagemaker.biz/2008/11/access-counter-1.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Access Counter&lt;/a&gt;というプラグインを使っていることが前提のソースです。）&lt;/p&gt;&#xA;&lt;p&gt;まず、正規表現を使って&lt;strong&gt;EntryBody&lt;/strong&gt;（記事内）のソースからIMGタグのsrcにある画像パスを抜き出して&lt;strong&gt;GetImageURL&lt;/strong&gt;という変数に代入します。もし、&lt;strong&gt;画像がなかったらnone&lt;/strong&gt;という文字を代入します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTSetVarBlock&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GetImageURL&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTEntryBody&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&amp;lt;[^i].*?&amp;gt;|&amp;lt;i[^m]*?&amp;gt;|&amp;lt;iframe.*?&amp;gt;|&amp;lt;input.*?&amp;gt;|&amp;lt;ins.*?&amp;gt;|&amp;lt;isindex.*?&amp;gt;|\s/g&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/(.*?src=&amp;#34;)(.*?)(&amp;#34;.*)/g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#39;$2&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;regex_replace=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/^[^\.\/h].*/g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;,&amp;#39;none&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/MTSetVarBlock&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;アクセスランキング表示の際、画像がなければ代替画像を表示して、あれば &lt;strong&gt;GetImageURL&lt;/strong&gt;に入っている画像パスを使って表示します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTIf&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GetImageURL&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;like=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;none&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;a&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;href=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$MTEntryPermalink$&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;img&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$mt:SupportDirectoryURL with_domain=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;1&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;encode_html=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;$&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;theme_static/rainier/img/siteicon-sample.png&amp;#34; width=&amp;#34;60&amp;#34; height=&amp;#34;60&amp;#34; alt=&amp;#34;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$MTEntryTitle$&amp;gt;&amp;#34; /&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;MTElse&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;a&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;href=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$MTEntryPermalink$&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;img&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;$MTGetVar name=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;GetImageURL&amp;#34;$&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&amp;#34; width=&amp;#34;60&amp;#34; height=&amp;#34;60&amp;#34; alt=&amp;#34;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;lt;&lt;/span&gt;$MTEntryTitle$&amp;gt;&amp;#34; /&amp;gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/a&amp;gt;&amp;lt;br&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;/MTIf&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この方法にMTの画像アイテムがあればそれを優先するようなことも加えたいのですが、とりあえず今回はここまで。&lt;/p&gt;&#xA;&lt;h3 id=&#34;参考ページ&#34;&gt;参考ページ&#xA;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;http://akamiru.com/2014/02/mt-accesse-counter.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/http://akamiru.com/2014/02/mt-accesse-counter.html&#34; alt=&#34;http://akamiru.com/2014/02/mt-accesse-counter.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;http://akamiru.com/2014/02/mt-accesse-counter.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;http://akamiru.com/2014/02/mt-accesse-counter.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item><item>
            <title>正規表現で記事内の最初にある画像のURLを抜き出す-MovableType</title>
            <link>https://qwerty.work/post/2014/04/url-movabletype-regex_replace/</link>
            <pubDate>Wed, 23 Apr 2014 12:25:25 +0900</pubDate>
            <guid>https://qwerty.work/post/2014/04/url-movabletype-regex_replace/</guid>
            <description>&lt;p&gt;ムーバブルタイプの記事一覧にサムネイルを付けたいけど、MT上の画像登録機能を使わず、直接IMGタグで画像を指定していう記事ばかりなのでいくら****で呼び出しても画像が表示されません。&lt;/p&gt;&#xA;&lt;p&gt;そこで、記事内のHTMLからIMGタグ内にある画像URLを正規表現で抜き出す方法がないかと探したら&lt;a class=&#34;link&#34; href=&#34;http://www.tinybeans.net/blog/2011/03/30-092221.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ブログ記事本文中の最初のimgのURLを取得する | かたつむりくんのWWW&lt;/a&gt;にありました。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;img&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;lt;mt:EntryBody regex_replace=&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;/&amp;lt;[^i].*?&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;|&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;i&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;[^m]*?&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;|&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;iframe.&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;*?&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;|&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;input.&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;*?&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;|&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;ins.&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;*?&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;|&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;isindex.&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;*?&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;|\s/g&amp;#34;,&amp;#34;&amp;#34; regex_replace=&amp;#39;/(.*?src=&amp;#34;)(.*?)(&amp;#34;.*)/g&amp;#39;,&amp;#39;$2&amp;#39; regex_replace=&amp;#34;/^[^\.\/].*/g&amp;#34;,&amp;#34;&amp;#34;&amp;gt;&amp;#34; /&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;正規表現は苦手なので、こういうサンプルがないとわけがわかりません。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
