お世話になっています。
タイトルにあるように、別ファイルに記述のあるテキスト(改行あり)から、そのテキストを1行で変数に代入したく、以下のようにしています。
$file = "http://~";
$text = file($file);
for($i=0: $i<count($text); $i++){
$text_data .= $text[$i];
}
#上記スクリプトはコピペじゃなく、今手元で記述したもなので、間違っていたらすみません。
上記スクリプトにより変数に代入された1行テキストを他のスクリプトに利用したいのですが、上手くいかず、色々と試しているなかで、$text_dataを出力してメモ帳にコピペしてみると、何箇所かに改行されているところが確認できました。
改行されているところとは、元のファイルを作成する際、エンターキーにより改行されているところなのですが、改行されている前後をコピペする分には問題ないものの、テキスト全文(文字数は1万文字を数える)をコピペすると、エンターキーによる改行箇所(全てじゃないです)が、メモ帳において改行されてしまいます。(普段使っているterapadでは全てがコピペできていない)
このような状況なのですが、別ファイルからテキストを1行として取得するには、どのようにしたら良いのでしょうか?
勉強不足でfile()を利用していますが、他の方法が思いつかず利用しているので、別の方法でも構いません。ご教示のほど宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
状況がよくわからないのですが
file_get_contents()で受けて、改行をとりのぞいてみては?
<?php
$fname='http://localhost';
$str= file_get_contents($fname,true);
$str=preg_replace("/\n|\r/","",$str);
echo $str;
?>
yambejp様
こんばんは。早速のアドバイスをありがとうございます!
お陰さまで解決することができました。
$str=preg_replace("/\n|\r/","",$str);
これですが、preg_replace()で置き換えるという発想が出てきませんでした。正規表現、もっと勉強したいと思います。
ありがとうございました!
他のスクリプトの兼ね合いもあり、ご挨拶するのが遅れて申し訳ありませんでした。
No.3
- 回答日時:
$file=file_get_contents("http://~");
$text_data=explode("\n",$file);
echo $text_data[0];
こんなんでどうですか?
Sylar様
こんばんは。ご親切なアドバイスをありがとうございます!
ご回答して下さった皆様の方法をすべて試したのですが、この方法ではうまくいきませんでした。
呼び出したいファイル内にあるテキストは、多くの改行を含んでおり、改行を省いたテキストを1行として変数に入れたく、そのためfile()を用いて、配列を分解?した際、その都度変数にいれていたのです。
私の説明不足でしたが、ご親切に回答して下さり感謝しております。ありがとうございました。
No.2
- 回答日時:
fread ― バイナリセーフなファイルの読み込みです。
<?php
// ファイルの中身を読んで文字列に格納する
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
//読み込んだ後、改行文字を取り除く(正規表現より早い)
$crlf = array("\r\n", "\n", "\r");
$text_data = str_replace($crlf, "", $contents);
$newstr = str_replace($order, $replace, $str);
?>
参考URL:http://www.php.net/manual/ja/function.fread.php
yyr446様
こんばんは。早速のアドバイスをありがとうございます!
勉強不足も手伝ってか、あいにくfread() この部分でエラーとなってしまいましたが、ファイルを読み込むにもいくつかパターンがあるのですね。もう少し幅広い方法が理解できるようになりたいと思います。
勉強になりました。ありがとうございます!
同一ファイル内で、他のスクリプトの兼ね合いもあり、結果が出るのが遅れてしまい、ご挨拶が遅れました。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ブラウザ) テキストの折り返しがないサイトの文字を折り返してPDF化したい 4 2022/12/02 09:49
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- 教えて!goo 質問(回答)文章の改行について?。 2 2023/01/29 23:03
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- バックアップ Windows11パソコンのデータを数クリックで完全に引っ越しするにはどうすれば良いでしょうか? 5 2022/10/11 14:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
JAVA System.out.println の ...
-
texのchapterが改行される
-
COBOLの改行
-
C++で空Enterの入力を判...
-
エクセルVBA 文字列領域が不足...
-
テキストファイルから改行コー...
-
文字列とWriteFile関数について
-
エディットボックスで改行
-
テキストボックス行の桁数を制...
-
POSTで改行コードを受け渡すには
-
Excel VBAからBeckyを起動して...
-
fgetsとsscanf
-
改行について
-
JavaMail,本文中の改行について
-
ExcelVBAでメールを作成してメ...
-
【VB6】項目内に改行コードを含...
-
ファイルの内容をstrcpyを使っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
COBOLの改行
-
改行について
-
最終行の改行について
-
C++で空Enterの入力を判...
-
【VBA】エクセルで最後の不要な...
-
jsp 改行コードで改行させて表...
-
C++でのCRLFについて
-
ファイルから読み取った改行文...
-
テキストファイルから改行コー...
-
ExcelVBAでメールを作成してメ...
-
awkで改行を除いて文字列を抜き...
-
エクセルVBA 文字列領域が不足...
-
VBAでCSVをExcelに取り込む時に...
-
コンボボックスの項目中に改行を
-
JavaDoc コメントの改行について
-
Excel VBAからBeckyを起動して...
-
改行を読み飛ばす
おすすめ情報