テキストエリアから登録した情報をテキストファイルに保存しています。
ただ、テキストエリア内で改行した場合、そのままテキストファイルにも反映され書き出す際に整合性が取れなくなって困っております。
例えば、メッセージがこの4行で一つのセットの情報なのに、
```
おはよう
こんにちは
こんばんは
```
表示する場合には、「おはよう」の1行目のみが取得され2行目以降は別の投稿となってしまいます。
こういった場合にはどのように対応を行うのが一般的な方法でしょうか?
テキストファイルに保存の際は以下で保存し、
fwrite($fp, $name . "\t" . $message . "\n");
…
書き出しはこのようにしています。
while (($line = fgets($fp))) :
$value = explode("\t", $line);
echo $value[x];
…
恐らく表示する際の1行の目印は末尾の\nをとってくると思うので、テキストエリア内の改行は何かに変える?などして保存し、書き出す際に<br>とかに変換して書き出すのでは?などと考えたりしておりますが、具体的な方法や、正しい?改行の指定方法が分からず…。
お詳しい方いらっしゃいましたらアドバイス頂けますと助かります。
宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
一般的には、入力値は保存先にあわせて符号化(Encode)する必要があります。
ご提示の場合はタブ区切りテキスト形式への保存と思われますので、TSV にて意味のあるタブ文字や改行文字などを無害化する符号化が必要です。
案1) preg_replace を使い、タブ文字や改行文字だけを符号化
案2) urlencode を使い、記号類すべてを符号化
案3) base64_encode を使い、文字列全体を符号化
案4) gzdeflate を使って圧縮してから案3と同様に符号化
有難うございます。
基本的なルールなど大変参考になりました、保存先に合わせて考えるのですね。
今回は、preg_replace で改行とタブを何もない状態に置換する方法で対応いたしました。
根本的なルールが少しわかり感謝申し上げます、有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- HTML・CSS HPに文章で改行はすべてBRタグとかで改行しなきゃだめなのですか?改行が活きたまま書く方法ないの? 1 2022/12/03 21:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPSpreadsheetを使って関数を...
-
アマゾンのような評価の星を選...
-
phpでcookieがうまく保存されない
-
index.phpって何ですか? 具体...
-
これの対応OSを教えて下さい。p...
-
PHP8を使うと、大量のWarningが...
-
Q&Aサイトを作成していてURLの...
-
PHPのセッション有効期限について
-
ワードプレスサイト PHP8.0.25...
-
index.phpに入るには、どうすれ...
-
SFTPなどは使わないホームペー...
-
ファイルアップロードに関して...
-
ファイルアップロードの上限を...
-
php 完了画面の送信メールのコ...
-
phpのメールフォームの完了画面...
-
入力した部分を表示させたまま...
-
phpでPEAR::DBを使っているので...
-
awsにApacheとPHPを入れて、何...
-
掲示板のセキュリティについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのレポートの表示...
-
phpの<br>\\nと\\nとエスケープ...
-
該当セルに行替えを含むデータ...
-
フォームのtextareaにnl2brを使...
-
C#のRichTextBoxで表示行数を取...
-
改行したいのですが
-
<br>が文字列で出力されてしま...
-
入力テキスト内で改行コードが...
-
<TEXTAREA> 1行目の改行・・・。
-
改行コード入り文字列を含むXML...
-
機種依存文字
-
PHPのfopenのバイナリモードに...
-
ファイル名がテキストボックス...
-
PHP 改行を含めた文字列をテキ...
-
フォームから入力された改行コ...
-
ブログパーツのjsファイルの書き方
-
LINEの打ち込みに改行が表示さ...
-
テキストエリアで読み込んだら<...
-
PHPでテキストファイルに保存し...
-
Smartyでの改行
おすすめ情報