The Trap of Web Design

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

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


Portfolio

Stagemind

▲ 珍しくカバーアニメーションとか