PHP 5.3には Nice function があります。
strstr(input,"\n",true)
残念ながら、サーバーはPHP 5.2.17を実行し、strstr
のオプションの3番目のパラメーターは使用できません。これを以前のバージョンで1行で実現する方法はありますか?]
遅いですが、爆発を使用できます。
<?php
$lines=explode("\n", $string);
echo $lines['0'];
?>
$first_line = substr($fulltext, 0, strpos($fulltext, "\n"));
またはそれについて何かがトリックを行います。 glyいが、実行可能。
試してみる
substr( input, 0, strpos( input, "\n" ) )
echo str_replace(strstr($input, '\n'),'',$input);
これを試して:
substr($text, 0, strpos($text, chr(10))
改行記号の種類に依存しません。
(($pos=strpos($text,"\n"))!==false) || ($pos=strpos($text,"\r"));
$firstline = substr($text,0,(int)$pos);
ブレークシンボルが見つからない場合(または、ブレークシンボルがテキストの最初のシンボルである場合)、$ firstlineにテキストまたは空の文字列の最初の行が含まれるようになりました。
list($line_1, $remaining) = explode("\n", $input, 2);
操作を繰り返したい場合に、一番上の行と残されたコンテンツを簡単に取得できます。それ以外の場合は、提案どおりにsubstrを使用します。
strpos
とsubstr
を組み合わせて使用できます。最初に、文字が配置されている位置を見つけてから、文字列のその部分を返します。
$pos = strpos(input, "\n");
if ($pos !== false) {
echo substr($input, 0, $pos);
} else {
echo 'String not found';
}
これは、あなたの望むことですか ?
l.e。 1行の制限に気付かなかったため、これはそのままでは適用されません。他の人が提案したように、2つの関数を1行だけで組み合わせたり、必要に応じて1行のコードで呼び出されるカスタム関数を作成したりできます。あなたの選択。