[PHP-users 1219] 任意の空白文字をトークンの区切り文字に指定する方法

Ryuzi Kambe php-users@php.gr.jp
Fri, 17 Aug 2001 15:58:55 +0900


strtok を用いて、stringを複数のstringに分割
したいと考えています。

文字列が"This is a pen.";
のようなときは、

$input = "This it a pen.";
$tok = strtok($input," ");

とすればよいのですが、

$input = "This is a
pen";

などのように、改行が間に挟まっている場合にはこれを
トークンとみなしてくれません。

HTMLの場合には、改行も空白文字として扱われるのですが、
PHPのstrtokでは、

strtok = ($input," ");
strtok = ($input,"\n");

とは指定できても、両方を同時に、ひとくくりの空白文字として
扱うことが出来ませんでした。

実際の対処方法としては、一度"\n"を" "に置換して対処しましたが
ふたつの空白がある場合に片方の空白がトークンの中身として
認識されてしまいます。

例えば、任意の空白文字を指定するような、
もっとスマートな方法はあるでしょうか。

使用しているPHPのバージョンは4.0.6で、OSはLinux-2.4.4です。

Ryuzi Kambe
kambe@mc.kcom.ne.jp