movable-type
MovableTypeのregex_replace複数使用
作成日: 2025年6月19日
feedなどへの出力で、entrybodyを調整したい場合など。
regex_replaceを複数書いても最初しか反映されない。
<$mt:Entrybody mteval="1" regex_replace='/class="prettyphoto"/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/data-rel="prettyPhoto\[\]"/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<div class="clear">.*?</div>/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/ /g',"" setvar="cont">
<mtvar name="cont" regex_replace='/&/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<span(.*)inline;">/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<span>/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/</span>/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<a(.*)">/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<a(.*)" >/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<\/a>/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<img(.*)" />/g',"" setvar="cont">
<mtvar name="cont" regex_replace='/<p><br />/g',"<p>" setvar="cont">
<mtvar name="cont" regex_replace='/<p><br>/g',"<p>" setvar="cont">
<mtvar name="cont" regex_replace='/<p></p>/g',"" setvar="cont">
regex_replaceは1タグ1回なのでこうするしかない。
feedへの実装したものだが、MT3~MT8までの投稿/また仕様が様々で、feedを読み込む先で改行はいれたかったのでこんなコードになった。
<p><br>を<p>置換、投稿時のミスって感じだからDBで<p><br>は<p>置換のがベターだと思うが、同一変数をmtvar繰り返しでやるイメージ。