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

$str = "ブックbook01本comicこみっく123";

のような2バイト文字と英数字が混在している文字列があります。
これを2バイト文字と英数字で分割して

1. 配列に入れる方法
  →Array('ブック', 'book01', '本' 'comic', 'コミック', '123')

2. 間に空白を入れる方法
  →"ブック book01 本 comic こみっく 123"

の両方の処理の仕方を教えて下さい。

A 回答 (1件)

ぱっと思いつく限り正規表現で処理してみては?



<?PHP
$pattern="/[0-9a-z]+|[^0-9a-z]+/i";
$str = "ブックbook01本comicこみっく123";
preg_match_all($pattern,$str,$matches);
print_r($matches[0]);
$str=implode($matches[0]," ");
print $str;
?>

ちなみに
>2バイト文字と英数字

2バイト文字ではなくマルチバイト文字という認識の方がよいかと
また英数字とありますがシングルバイトの英数字以外の記号はどちらに振ればよいのでしょう?
    • good
    • 0
この回答へのお礼

ありがとうございます!
正規表現でできたのですね…。
マルチバイト…了解しました!
はい、シングルバイトの記号は今のところ使わないので大丈夫です。
迅速に回答いただき、助かりました!

お礼日時:2014/01/30 16:02

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