アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
現在、phpで簡単な動的ページを作成しています。

行き詰っていますのは、文字列抽出?です。

ある文字列を先頭文字から300文字だけ切り出して以降はカットしてしまいたいのです。

但しその文字列が全角、半角、改行コード(EUC)が混在していまして、うまく切り出せません。

混在文字列からも文字列指定で切り出す関数や手段をご存知の方はいらっしゃいませんか?
お手数では御座いますが、お教え下さい。

宜しくお願い申し上げます。

A 回答 (2件)

zenon55さん、こんにちは。




mb_substr()を利用されてはいかがでしょうか。
マルチバイト対応で文字列の切り出しが行えます。

※拡張モジュールmbstringをインストール必要があります。


例) 文字コードがSJISの場合

$a = "あい12うえ345お";
var_dump(substr($a, 0, 7));
var_dump(mb_substr($a, 0, 7, "SJIS"));

参考URL:http://jp.php.net/manual/ja/function.mb-substr.php
    • good
    • 0

300文字が全角文字を1文字と数えるなら


mb_substr で良いと思います。
そうでないなら
$cutstr=mb_strimwidth($text, 0, 300);
のようにすればいいかと思います。

参考URL:http://jp2.php.net/manual/ja/function.mb-strimwi …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!