人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP

とある変数に下のような文字列がはいっています。

$moji = "hogehoge\nfoofoo\ntest";

改行が入っているのですが、
1行目を削除するためにはどうすればよいでしょうか?


●質問者: webtomake
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●50ポイント ベストアンサー

こんな感じで良いんでしょうか。

<?php
 $moji = "hogehoge\nfoofoo\ntest";

 $pat = '/^.*?\n/';
 $result = preg_replace($pat, '', $moji);

 echo $result;


ideone.com で試したのがこちら。
http://ideone.com/I91OT4


2 ● tezcello
●50ポイント

元の文字列に改行文字がある事が前提なら

<?php
$moji = "hogehoge\nfoofoo\ntest";
list(,$result) = explode("\n", $moji, 2);

var_dump($result);
?>

程度でもよいかと。

前提を満たさない場合があるなら、2行以上あるかのチェックを入れて、無ければ NULL または空を返すような処理が必要ですね。


tezcelloさんのコメント
反射的に1行目に注目して...と思って回答しましたが、よくよく考えれば「2行目以降が欲しい」という事ですよね。 それなら、最初の改行文字以降を取り出せば良いのだから $pos = strpos($moji, "\n"); $result = substr($moji, $pos+1); ですね。 改行文字が無い場合もあるなら $result = ltrim(substr($moji, strpos($moji, "\n"))); とすれば、元々の文字列と同じものが得られます。 改行文字が無い場合の応答として上記が適切であれば良いですが、 「1行目を削除」を忠実に守るなら、得られる値は空か NULL が適当でしょう。 __全てが1行目ですから その場合は $pos を調べて望ましい値を $result にセットすれば良いと思います。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ