エンジニアブログ

エンジニアブログ
MT技術情報

ちょいわざ1:MTタグの出力結果から実体参照を取り除く

いたはし 2010年03月26日

こんにちはいたはしです!忙しいのでちょいわざをひとつだけ!
以下のようなことで困ったときに使える技です。あとなんか応用できるかもしれません。

  • htmlタグを全部取り除きたい
  • 本文中の空白も全部取り除きたい
  • 変換された&hogehoge;こと実体参照を全部取り除きたい(remove_htmlで取れなかった、、、)
  • 取り除いたうえでxmlエンコードしたい
<$MTEntryBody remove_html="1" encode_xml="1" rtrim="1" setvar="entrybody"$> <$MTGetVar name="entrybody" regex_replace="/&.*?;/",""$>
  1. とりあえずremove_htmlします。
  2. とりあえずencode_xmlします。
  3. rtrimで連続する空白を除去します。
  4. とりあえず適当なとこにつっこみます(一回セットしないと動きませんでした)。
  5. 取り出して、&から始まって;で終わるものを全部除去します。

FLASHでRSS読み込ませて表示するときになんか&hogehoge;っていうのがあったらエラー発生してみれない!となったときに有効です。
検証してないので、普通に使ってる時は必要ないかもしれませんが、同様の事象で困ってる人がいればお試しください。