[PHP-users 16568]Re: 正規表現で空白行削除
Osamu Shigematsu
m5issige @ mr.hitachi-medical.co.jp
2003年 7月 9日 (水) 08:44:56 JST
重松です。こんにちは。
> アンケートのサンプル----------------
> ●使用用途・目的●
> 製品の維持
>
>
>
>
> 製品の品質管理
> アンケートのサンプル---------終わり
ということなので、整理すると、
●タイトル●\n
回答\n
\n
\n
\n
\n
となっている、ということですよね。
(改行はわかりやすいように \n で明示しました)
だとすると、正規表現的に日本語で書くと、
●
空ではない 1 文字以上
●
\n
空かもしれない \n までの文字列
\nが 4 つ
となりますね。
つまり、
●
.+
●
\n
[^\n]*
\n{4}
ですね。
このうち必要なのは、.+ と [^\n]* の部分なのだから、
() で括って、ereg でマッチしたら取り出すとよいでしょう。
けど、私ならば、そんな面倒なことはしないですけどね。
$result = array();
$items = explode("\n\n\n\n", $enq);
foreach ($items as $item) {
list($key, $val) = explode("\n", $item);
$result[$key] = $val;
}
print_r($result);
あら、簡単。
--
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>
PHP-users メーリングリストの案内