2017-04-26 10 views
0

私は、各行に人名、電子メールメッセージ、および電子メールアドレスを持つテキストファイルを持っています。最後に電子メールアドレスを無視しながら、名前と電子メールメッセージだけを出力する方法が必要です。テキストファイルの各行で最後の単語を無視しますか?

私のテキストファイルは次のようになります。私はそれぞれの行を印刷するforeachループを使用して、それは当然のた

Joe Hello how are you? [email protected] 
Jim Whats up? [email protected] 
Megan How is everyone doing? [email protected] 

は、電子メールアドレスを保持しますので、私はこれをどのように行うだろうが、メールアドレスを追加しませんか?

$messages = file('messages.txt'); 
foreach($messages as $message) 
{ 
    echo $message; 

} 
+0

最後のスペースの位置を見つけ、部分文字列を取得します。 –

+0

電子メールメッセージの長さが人ごとに異なる場合、どうすればよいですか? – Brit24

+0

ヒント: 'explode()' 'array_pop()' 'array_shift()' –

答えて

1

以外のすべてのエコー - 文字列の最後のスペースの位置を見つけて、最初から部分までを取得します見つかった位置:

$messages = file('messages.txt'); 
foreach($messages as $message) 
{ 
    echo substr($message, 0, strrpos($message, ' ')) . '<br />'; 
} 
+0

さて、あなたが何を言っているかを見るのがはるかに簡単になっているのを見てください。 – Brit24

0
$txt=file_get_contents("Duomenys.txt"); 
    $lines=explode("\n",$txt); 
    for($i=0;$i<count($lines);$i++) 
    { 
    $message="";  
    $words=explode(" ",$lines[$i]); 
    for($x=0;$x<(count($words)-1);$x++) 
    { 
     $message.=$words[$x]; 
    } 
    echo "$message<br>"; 
    } 

や言葉にすべての行を打破し、私がコメントで言ったように、最後の1

関連する問題