ホームページ  >  記事  >  バックエンド開発  >  PHPフォームのテキストエリアの改行を変換する方法

PHPフォームのテキストエリアの改行を変換する方法

WBOY
WBOYオリジナル
2016-07-25 09:04:411357ブラウズ
テキストエリアの復帰と改行をbrに変換してデータベースに保存する、つまりテキストエリアの改行を変換する問題のデバッグに時間がかかりました。 1. textarea の改行文字は n であることを知っておく必要があります (個人的なテストでは、Enter キーを押すと n になることがわかりましたが、Linux ではこれは rn であるようです)。

テキストエリアの復帰と改行をbrに変換してデータベースに保存する、つまりテキストエリアの改行を変換する問題のデバッグに時間がかかりました。

1. テキストエリアの改行文字は n であることを知っておく必要があります (個人的なテストでは、Enter キーを押すと n であることがわかりましたが、Linux では rn であるようです)

2. nl2br を使用する前に、マニュアルの説明をよく読んでください。私は一般的に n を
に変換すると理解していますが、これは真実ではありません。

説明については、PHP マニュアルを参照してください:

nl2br – 文字列内のすべての改行の前に HTML 改行を挿入します

すべての改行の前に「

」が挿入された文字列を返します

改行の前に挿入することを意味します


W3cschool 言う:

nl2br() 関数は、文字列内の各改行 (n) の前に HTML 改行文字 (

) を挿入します。

nl2br() を挿入できます

が、n はまだ存在します。たとえば、文字列ソース コードは次のようになります。 nl2br はプログラム
n life network であるため、表示される効果は
になります。

プログラム

Life.com——————-ソースコードにn

があるため改行

3. PHP 関数 str_replace を使用して、str_replace('n','

') などの関数を置き換えます。問題は、置き換えが成功せず、長い間置き換えられていないことです。テキストエリアの改行文字が n なのかどうかさえ疑問に思い始めて、今考えると本当にショックですo(∩_∩)o... 実際、n / n をそれぞれテストして置き換えた後、直感的にこう言いましたこれは問題を解決する方法ではありません。何か根本的な間違いがあるはずです。ふとシングルクォーテーションの問題なのかダブルクォーテーションの問題なのかと思い、str_replace('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 セル内の改行を制御します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。