テキストエリアの復帰と改行をbrに変換してデータベースに保存する、つまりテキストエリアの改行を変換する問題のデバッグに時間がかかりました。 1. textarea の改行文字は n であることを知っておく必要があります (個人的なテストでは、Enter キーを押すと n になることがわかりましたが、Linux ではこれは rn であるようです)。
テキストエリアの復帰と改行をbrに変換してデータベースに保存する、つまりテキストエリアの改行を変換する問題のデバッグに時間がかかりました。 1. テキストエリアの改行文字は n であることを知っておく必要があります (個人的なテストでは、Enter キーを押すと n であることがわかりましたが、Linux では rn であるようです) 2. nl2br を使用する前に、マニュアルの説明をよく読んでください。私は一般的に n を nl2br – 文字列内のすべての改行の前に HTML 改行を挿入します すべての改行の前に「 」が挿入された文字列を返します
nl2br() 関数は、文字列内の各改行 (n) の前に HTML 改行文字 ( ) を挿入します。 が、n はまだ存在します。たとえば、文字列ソース コードは次のようになります。 nl2br はプログラム Life.com——————-ソースコードにn があるため改行 3. PHP 関数 str_replace を使用して、str_replace('n','') などの関数を置き換えます。問題は、置き換えが成功せず、長い間置き換えられていないことです。テキストエリアの改行文字が n なのかどうかさえ疑問に思い始めて、今考えると本当にショックですo(∩_∩)o... 実際、n / n をそれぞれテストして置き換えた後、直感的にこう言いましたこれは問題を解決する方法ではありません。何か根本的な間違いがあるはずです。ふとシングルクォーテーションの問題なのかダブルクォーテーションの問題なのかと思い、str_replace('n',' 単純な文字列を指定する最も簡単な方法は、文字列を一重引用符 (文字 ‘) で囲むことです。 一重引用符を表すには、他の多くの言語と同様に、バックスラッシュ () でエスケープする必要があります。一重引用符の前または文字列の末尾にバックスラッシュが必要な場合は、2 つのバックスラッシュを使用します。他の文字をエスケープしようとすると、バックスラッシュ自体も表示されることに注意してください。したがって、通常はバックスラッシュ自体をエスケープする必要はありません。 文字列を二重引用符 (") で囲むと、PHP は特殊文字のより多くのエスケープ シーケンスを認識します。 表 6-1. エスケープ文字 シーケンス 意味 ん 改行 (LF または ASCII 文字 0×0A (10)) r キャリッジリターン (CR または ASCII 文字 0×0D (13)) t 水平タブ文字 (HT または ASCII 文字 0×09 (9)) \ バックスラッシュ $ ドル記号 ” 二重引用符 [0-7]{1,3} この正規表現シーケンスは、8 進数表記で表される文字と一致します x[0-9A-Fa-f]{1,2} この正規表現シーケンスは、16 進表記で表される文字と一致します また、他の文字をエスケープしようとすると、バックスラッシュ自体が表示されます。 textarea の改行は改行文字の問題ではなく、nl2br の問題でもありません。PHP ではすべての転送が二重引用符でのみ存在し、文字処理を行うだけです。 >>>> あなたが興味を持ちそうな記事: php 文字列改行文字インスタンス分析を削除php html 圧縮 (改行のクリア、タブのクリア、コメントマークの削除) HTMLタグ、スペース、改行などをフィルタリングするPHPの通常のコード例 phpで改行を削除する方法まとめ PHPを使用してHTMLウェブページのコードを圧縮する方法(スペース、改行、タブ、コメントマークなどを削除する) 改行文字を置換するためのいくつかのPHPメソッドを提供します php は Excel を生成し、Excel セル内の改行を制御します |