PHPと正規表現を使って文字を抽出したいと思います。


$test = "TITLE:1行目です。\n2行目です。\n";

$testを改行毎に区切りたくて

preg_match('/TITLE:(.*)\n/',$test,$array)

としたのですが、「1行目です。」の文字しか抽出されません。
どのような正規表現の書き方をすればいいのでしょうか?
ご存じの方は教えて下さい。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/06/08 14:17:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:GoldenDawn No.1

回答回数426ベストアンサー獲得回数81

ポイント80pt

この場合は split系の方がいいと思います。preg_match_all でも可能だと思いますが。

区切り文字列に先頭の「TITLE:」または「\n」を指定してやります。

<?php
$test = "TITLE:1行目です。\2行目です。\n" ;
$ary = preg_split('/^TITLE:|\n/', $test, -1, PREG_SPLIT_NO_EMPTY) ;
print_r($ary) ; 
?>
id:kt26

出来ました!preg_splitを使うんですね。大変勉強になりました。ありがとうございます。

2009/06/08 14:17:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません