PHP 5.3 の strip_tags
実稼働中サーバーで問題ないから平気なんだけど、手元のマックのウェブ(制作)環境でアウトな事象があって、PHP 5.3 だからなのか、Nucleus 3.64 でなんか変わったのか、原因がつかめなくてヘタにいじれない。
Nucleus CMS のテンプレートタグで、syndicate_description ってーのがあって、strip_tags して文字列切り詰めるやつで、自分はとっても重要なモノなんですが、手元の環境では strip_tag の時点で全部中身がなくなっちゃう。テンプレートの body 内で dl 要素使ってリスト表示にしてたから、そこからタグとっぱらって、parse_syndicate_description (ITEMACTIONS.php 内)の strip_tags をやめた。
元
$syndicated = strip_tags($this->currentItem->body);
変更
$syndicated = preg_replace('/<.*?>/', '', $this->currentItem->body);
$syndicated = trim($syndicated);
$syndicated = preg_replace('#(\r\n|\n)#', '', $syndicated);
基本的に変更したものでも一行でよくて、自分が気になるので 2、3行めを追加。
プラグインにしてもよいんだけど、これおそらく PHP5.3 で strip_tags がちょっと変わったんだと思う。普通に使ってて大丈夫だったりするので、どんな状況だと再現するのかイマイチつかめていないので、様子見です。
2011-06-22 19:53 | Nucleus | ichiro | permalink


Comments
コメントはまだありません