システム開発ブログ

【PHP】改行コードをmb_strlenに渡すと2を返します

青木

青木 (2011年10月27日 18:02)
システムソリューション事業部

みなさん、こんにちは。青木です。

今年(2011年)のプロ野球ドラフト会議をご存知でしょうか。
ドラフト会議が始まるまで、菅野投手は巨人に入団するものだと思い込んでいました。
そんな中で日本ハムが指名し、交渉権を得たのには私も驚きました。

今回はPHPのmb_strlen関数について話をします。

このmb_strlenという関数はマニュアルを見る限り、文字列の長さを得る関数です。
マルチバイト1文字も1を返すと書いてありますので、
私は改行コードについても1を返すものだと思い込んでいました。

しかし、改行コードがCRLF(\r\n)の場合は2を返すということが分かりました。
ちなみにタブは「\t」だから?か1を返します。

対処方法としてはstr_replaceで「\r\n」を「\n」に変換してから
mb_strlenに渡してあげれば良いでしょう。

どんな場面でも思い込みは禁物ですね。

システムのトラブル解決を承ります。すぐにシステムリフォームを体験できますシステム診断・システムリフォームのお申し込みはこちらから。

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

ページのトップ